为什么
calendarCurrent = Calendar.getInstance(Locale.US);
calendarCurrent.get(Calendar.MONTH)
如果现在是 12,返回 10?
为什么
calendarCurrent = Calendar.getInstance(Locale.US);
calendarCurrent.get(Calendar.MONTH)
如果现在是 12,返回 10?
月份索引从 0 开始,而不是从 1 开始,因此如果返回 10,则它必须是 11 可能在美国语言环境中它还不是 11
月份是从零开始的(一个不幸的设计决定,恕我直言),所以 0 表示 1 月,10 表示 11 月。现在是 12 月 1 日,但在某些时区可能仍然是 11 月 30 日。
我刚刚对其进行了测试,它返回 11,这是 12 月,因为月份是[0, 11]
.
从javadoc:
month - 用于设置 MONTH 日历字段的值。月份值从 0 开始。例如,0 表示一月。
一切都很好。您可能在午夜之前或在非美国时区测试过它,不是吗?