getTimeInMillis()为相同的日期返回不同的值

Ama*_*yla 1 java datetime timestamp calendar date

我想我不理解getTimeInMillis().我一直以为毫秒时间戳代表一个日期,但就我而言,它让我有所不同.在这里,我使用一种方法向数组添加时间戳,如下所示:

Calendar date = Calendar.getInstance();
date.set(2015, 9, 25, 12, 0);
timeArray.push(date.getTimeInMillis());
Run Code Online (Sandbox Code Playgroud)

在代码的其他部分,我在相同的日期做同样的事情:

Calendar date2 = Calendar.getInstance();
date2.set(2015, 9, 25, 12, 0);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这种比较返回false:

timeArray.get(0) == date2.getTimeInMillis();
Run Code Online (Sandbox Code Playgroud)

这两个值不应该是真的吗?或者也许我已经明白这个getTimeInMillis()方法错了?如果是这样,我怎样才能以其他方式实现我想要做的事情呢?

Tim*_*fey 5

我们来看看文档.
所以根据文件的set方法:

设置日历字段YEAR,MONTH,DAY_OF_MONTH,HOUR_OF_DAY和MINUTE的值.保留其他字段的先前值.如果不需要,请先调用clear().

因此修复应该很简单:clear()首先调用方法.