我想我没有正确理解 getTimeInMillis()
。我一直认为毫秒时间戳代表一个日期,但就我而言,这让我有了不同的想法。在这里,我使用一种方法向数组添加时间戳,如下所示:
Calendar date = Calendar.getInstance();
date.set(2015, 9, 25, 12, 0);
timeArray.push(date.getTimeInMillis());
在代码的其他部分,我在同一日期做同样的事情:
Calendar date2 = Calendar.getInstance();
date2.set(2015, 9, 25, 12, 0);
不幸的是,这个比较返回 false:
timeArray.get(0) == date2.getTimeInMillis();
这两个值不应该是真的吗?或许我对 getTimeInMillis()
方法的理解有误?如果是这样,我怎样才能以其他方式实现我想要做的事情?
最佳答案
我们来看看documenation .
所以根据 set
方法的文档:
Sets the values for the calendar fields YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY, and MINUTE. Previous values of other fields are retained. If this is not desired, call clear() first.
所以修复应该很简单:只需先调用 clear()
方法即可。
关于java - getTimeInMillis() 为相同的日期返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33336153/