我将日期设置为2013-01-01 00:00:00,但日期为星期五2月01日00:00:00 GMT + 01:00 2013为什么设置日期和日历给我错误的日期
为什么?
Calendar calendar = Calendar.getInstance();
calendar.set(2013, 1, 1, 0, 0, 0);
Date startDate = calendar.getTime();
我将日期设置为2013-01-01 00:00:00,但日期为星期五2月01日00:00:00 GMT + 01:00 2013为什么设置日期和日历给我错误的日期
为什么?
Calendar calendar = Calendar.getInstance();
calendar.set(2013, 1, 1, 0, 0, 0);
Date startDate = calendar.getTime();
在Java的日期类中,月份编号从0开始。使用Calendar
类中的月份常量可避免这种常见错误。
calendar.set(2013, Calendar.JANUARY, 1, 0, 0, 0);
1表示2月。 0是1月。从0开始索引月份。使用助记符总是更好:Calendar.JANUARY
刚才那的有关一个疑难杂症...
起初我以为这不是我得到了同样的问题,因为我的一年,是错误的。我已经为12月份设置了'12',但由于月份是抵消值,并且从0开始,Calendar会实际上将这12次转换为下一年的1月份,所以如果您的年份错误,请检查您的月份是否也是错误的,它可能像我一样滚动。
即的setDate(2015,12,6)结果1月6日的日期,2016
所以使用日历月常数。