我一直在将java.util用于所有日期和日历表示。但是我在这里面临一个奇怪的问题。 Calendar.MONTHCalendar.DAY_OF_MONTH等都给出错误的输出。但是当我使用Calendar.getTime()时,我得到正确的输出。可能是什么问题?

public class TestClass {

    public static void main(String[] args) {
        Calendar rightNow = Calendar.getInstance();
        System.out.println(rightNow.MONTH);
        System.out.println(rightNow.DAY_OF_MONTH);
        System.out.println(rightNow.YEAR);
        System.out.println(rightNow.getTime());
    }
}

和相同的输出是:
2
5
1
Tue Jan 22 10:31:44 GMT+05:30 2013

最佳答案

    System.out.println(rightNow.MONTH);
    System.out.println(rightNow.DAY_OF_MONTH);
    System.out.println(rightNow.YEAR);
    System.out.println(rightNow.getTime());

您正在打印日历常量值。

如果需要值,则需要执行get....
例:
    System.out.println(rightNow.get(Calendar.MONTH));

阅读Calendar javadoc以获取更多信息。

10-05 21:13