Calendar.Month 给出错误的输出

2022-01-11 00:00:00 calendar java

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

I have been using java.util for all date and calendar representations. But I am facing a strange problem here. Calendar.MONTH, Calendar.DAY_OF_MONTH, etc all give wrong outputs. But when I use Calendar.getTime(), I get the right output. What might be the problem?

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());

您正在打印日历常量值.

You are printing Calendar constant values.

如果你想要值,你需要做 get....

If you want values, you need to do get....

例子:

    System.out.println(rightNow.get(Calendar.MONTH));

阅读 日历 javadoc 了解更多信息.

Read Calendar javadoc for more information.

相关文章