Calendar.getTimeInMillis()为同一实例返回不同的结果

我有以下代码并在Calendar实例上调用getTimeInMillis()。 我希望返回值相同,但它在运行之间返回不同的结果。

结果如下所示,这是不同的。 我做错了什么,需要改变什么?

时间1369454400208时间1369454400185时间1369454400926

public class MyTest { public static void main(String[] args){ Calendar calendar = new GregorianCalendar(); calendar.set(calendar.YEAR, 2013); calendar.set(calendar.MONTH, 4); calendar.set(calendar.DATE, 24); calendar.set(calendar.HOUR, 12); calendar.set(calendar.MINUTE, 00); calendar.set(calendar.SECOND, 00); System.out.print("Time " + calendar.getTimeInMillis()); } 

您还需要重置毫秒数。

 calendar.set(Calendar.MILLISECOND, 0); 

请注意,您应该使用Calendar.*来访问静态字段,而不是calendar.*