有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

日期Java日历。设置没有给出正确的结果

我看不出下面的代码哪里出了问题,这可能是显而易见的,但我太盲目了,在这个阶段看不到它。我正在将日期“01/01/2009”传递给日历的一个实例。然后我试着将三月的月份设置为2,我看到的输出是

格式:01/01/2009

每月:2

cal.set( Calendar.MONTH, mth ); //mth = int 2

log.debug("formatted: " + formatter.format(cal.getTime()));
log.debug("cal month: "+Integer.valueOf(cal.get(Calendar.MONTH)).toString());

当我设置日历时。将日期设置为最大值的日期 31/01/2009

为什么我这个月的设置不合适


共 (1) 个答案

  1. # 1 楼答案

    我会详细调查到底发生了什么,但一般的经验法则是:不要使用java。util。{日期,日历}。改用Joda Time。。。它清洁多了

    编辑:我现在无法复制你的问题。我仍然建议使用Joda,但如果你能发布一个简短但完整的程序来演示这个问题,我们也许能找出问题所在

    编辑:根据另一条评论,我想知道你的格式化程序是否错了。。。你真的用“dd/mm/yyyy”而不是“dd/mm/yyyy”吗?“mm”的意思是几分钟,而不是几个月