使用日历设置日期的问题

时间:2012-05-07 14:17:19

标签: java datetime calendar

我正在尝试使用以下代码段将日期设置为DEC 31,2012,但我将在2013年3月3日到达,这里有什么问题。

Calendar today = Calendar.getInstance();
today.set(Calendar.MONTH, 13);
today.set(Calendar.DAY_OF_MONTH, 31);
today.set(Calendar.YEAR, 2012);

long calendarNeverEndDate = today.getTime().getTime();
System.out.println("calendarNeverEndDate:"
                   + sdf.formatLocal(calendarNeverEndDate));

1 个答案:

答案 0 :(得分:5)

那是因为月份是0索引的(是的,它与天数不一致:-()。

编辑:正如Romain所说,最好使用常量

Calendar.DECEMBER