我有以下代码:
public static final long ONE_DAY_IN_MILLISECONDS = 24*60*60*1000;
(...)
Date newNextTestDate = new Date ( (new Date().getTime()) + newInterval*ONE_DAY_IN_MILLISECONDS);
System.out.println("data: " +newNextTestDate.getTime());
GregorianCalendar tmp2Date = new GregorianCalendar ();
tmp2Date.add(GregorianCalendar.DAY_OF_MONTH, newInterval);
System.out.println(" data2: " +tmp2Date.getTimeInMillis());
//where newInterval is number of days (int)
在Android 4.0.4和4.2.2中,在2/3的情况下,显示的值是相同的(有时是微小的差异)。然而,在1/3的情况下,存在...... 3600000(或类似于3600001的类似物)的差异,相当于一小时。此外,如果我在一个循环中有这个,它似乎是完全随机的,在同一设备上,没有触及任何系统设置,有时存在差异,有时不存在。 Android实施日期是否有任何错误?
答案 0 :(得分:0)
我不知道问题的原因是什么,但我找到了解决方法。
当我使用new Date()
而不是(new GregorianCalendar()).getTime
时,我会使用{{1}}这种奇怪的效果"不会出现。