gpt4 book ai didi

java - GregorianCalendar 显示奇数​​值?

转载 作者:行者123 更新时间:2023-12-01 19:14:53 24 4
gpt4 key购买 nike

好的。

calendar.get(Calendar.MONTH); 

返回当前月份的索引。例如,如果现在执行这行代码,它将返回 August 的 7。

但是

calendar.get(Calendar.AUGUST); 

还有

calendar.get(Calendar.MONTH); in april

返回 3?

这使得我很难根据我的开发环境获得正确的日期值。

有人可以告诉我为什么会这样吗?

最佳答案

您不应该使用calendar.get(CALENDAR.AUGUST) - 这是使用表示的常量,就像它是表示的常量一样字段类型。不幸的是,Calendar API 的设计非常糟糕,无法让这种情况发生,IMO,但您确实需要理解为什么它没有意义。

四月的日期返回 3 的原因与八月的日期返回 7 的原因相同 - 日历 中的月份是从 0 开始的。我很惊讶你对 8 月返回 7 感到高兴,但对 4 月返回 3 感到困惑......

无论如何,来自 Calendar.MONTH 的文档:

Field number for get and set indicating the month. This is a calendar-specific value. The first month of the year in the Gregorian and Julian calendars is JANUARY which is 0; the last depends on the number of months in a year.

强烈建议您查看Joda Time如果您在 Java 中使用日期和时间做任何稍微不平凡的事情 - 它是一个比 Date/Calendar 更理智、更具表现力的 API >.

关于java - GregorianCalendar 显示奇数​​值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7143954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com