我试图比较两个日期之间的ms数,但我在某些特定日期遇到问题。 2015年2月1日的例子:
System.out.println(new GregorianCalendar(2015, 01, 30, 12, 0, 0).getTimeInMillis());
System.out.println(new GregorianCalendar(2015, 01, 31, 12, 0, 0).getTimeInMillis());
System.out.println(new GregorianCalendar(2015, 02, 01, 12, 0, 0).getTimeInMillis());
这将返回以毫秒为单位的时间,这是按时间顺序排序的:
1425294000000
1425380400000
1425207600000
我已经知道如何使用另一个类(DateFormat)来避免这个问题。但我不明白这个问题。
答案 0 :(得分:8)
2月31日不存在。 GregorianCalendar
构造函数的月(第二个参数)是一个从0开始的索引。 [0-11]