这是Date类中的错误或我错了(Java / android)

时间:2017-04-01 17:13:21

标签: java android date

我写这段代码

Date xx2 = new Date(2017,3,31);
Date xx3 = new Date(2017,4,1);

Assistance.print("--> y:"+xx2.getYear()+"  m:"+xx2.getMonth()+" d:"+xx2.getDate());
Assistance.print("--> y:"+xx3.getYear()+"  m:"+xx3.getMonth()+" d:"+xx3.getDate());

但是我的结果相同!!!

结果:

- > y:2017 m:4 d:1

- > y:2017 m:4 d:1

什么?

2 个答案:

答案 0 :(得分:1)

您需要阅读构造函数的javadoc Date(int year, int month, int day) 仔细,特别是

  

month - 0-11之间的月份

因此,new Date(2017,3,31)是4月31日, 而new Date(2017,4,1)是5月01日,实际上是同一天(因为4月只有30天)。

答案 1 :(得分:0)

月份为0索引。 1月== 0,所以日期xx2是4月31日。日历上没有这样的日期。从四月开始的第31天是5月1日。这就是两个日期相同的原因。