Java 日历:DATE_OF_YEAR 字段 DATE 究竟包含什么?

Java Calendar: What exactly does the field DATE, DATE_OF_YEAR contain?

我有一个这样的代码片段:

    Calendar c = Calendar.getInstance();
    System.out.println(c.DATE);
    System.out.println(c.DAY_OF_YEAR);
    System.out.println(c.getTime());

输出为:

    5
    6
    Wed Oct 09

我不太清楚为什么打印 c.DATEc.DAY_OF_YEAR 会得到 56

日期是 Wed Oct 09 所以我希望 c.DATE9c.DAY_OF_YEAR282

如有解释将不胜感激=)

这些实际上是日历 class 的标志,用于获取日历日期的特定部分。 (是的,很丑)

要获取日历特定部分的值,您需要使用它的.get()方法。此方法接受您要获取的字段的整数标志。

System.out.println(c.get(Calendar.DATE));
System.out.println(c.get(Calendar.DAY_OF_YEAR));
System.out.println(c.getTime());

将得到与以下相同的结果:

System.out.println(c.get(5));
System.out.println(c.get(6));
System.out.println(c.getTime());