我认为我对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
方法的说明:
设置日历字段YEAR,MONTH,DAY_OF_MONTH,
HOUR_OF_DAY和MINUTE。保留其他字段的先前值。
如果不希望这样做,请首先调用clear()。
因此,解决方法应该很简单:只需先调用clear()
方法即可。