我在 java 中使用 Calendar 类,发现“after”和“getTimeInMillis”方法中有一个错误。这些方法始终适用于所有日历,但某些特殊日历存在问题。我的测试代码是:
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.set(2006, 5, 31, 22, 0, 0);
c2.set(2006, 6, 1, 1, 0, 0);
if (c1.after(c2))
System.out.println("c1 is after c2.");
if (c1.getTimeInMillis()>c2.getTimeInMillis())
System.out.println("c1 in mimisecond is greater than c2");
虽然 c1 在 c2 之前,但我的代码打印:c1 在 c2 之后。以毫秒为单位的 c1 大于 c2
问题是什么?我该如何解决?我使用 Java NetBeans 7.1 IDE 和 JDK 1.7。