为什么和日历设定日期给我错误的日期(Why does setting date with calen

2019-08-07 04:57发布

我将日期设置为2013-01-01 00:00:00,但日期出来为周五年2月1日00:00:00 GMT + 01:00 2013

为什么?

Calendar calendar = Calendar.getInstance();
calendar.set(2013, 1, 1, 0, 0, 0);
Date startDate = calendar.getTime();

Answer 1:

一个月编号Java的日期类从0开始。 使用在本月常数Calendar类来避免这种常见的错误。

calendar.set(2013, Calendar.JANUARY, 1, 0, 0, 0);


Answer 2:

1表示二月。 0是一月。 月份是从0开始索引它总是更好地使用记忆法: Calendar.JANUARY



Answer 3:

只是,的有关一个疑难杂症...

起初我以为这不是我得到了同样的问题,因为我的一年,是错误的。 我为十二月成立“12”,但由于几个月的偏移量,并从0开始,日历,实际上推出的是12到意味着明年一月份,所以如果你的年是错的,请检查您月份也是错误的,它可以翻转像我一样。

即的setDate(2015,12,6)导致1月6日的日期2016

所以使用日历月常数。



文章来源: Why does setting date with calendar give me the wrong date
标签: java calendar