首页 > 解决方案 > Java 8 的日期时间包 DayOfWeek 枚举的顺序

问题描述

我正在查看 Java 8 的新 datetime 包的教程。在关于 theDayOfWeekMonthenums的页面上,它说DayOfMonthenum 从星期一到星期日运行。这是为什么?我使用过的所有其他系统(包括 .NET)都有从星期日开始的一周。

标签: javadatetimejava-timedayofweeklibrary-design

解决方案


可能是因为 ISO8601,如 timeanddate.com 上所述

根据国际标准 ISO 8601,星期一是一周的第一天。紧随其后的是周二、周三、周四、周五和周六。周日是第七天,也是最后一天。

尽管这是国际标准,但包括美国、加拿大和澳大利亚在内的一些国家/地区将星期日视为一周的开始。

可以在此处找到 1988 版标准的一些更直接的引用:

  • 附件 A.3 .... 对于商业目的,即可能使用周数的会计、计划和类似目的,已发现星期一最适合作为一周的第一天。
  • 3.17 周,日历:一个日历年内的一个 7 天时间段,从星期一开始,由其在年内的序数标识;一年中的第一个日历周包括该年的第一个星期四。在公历中,这相当于包括 1 月 4 日在内的一周。
  • 5.2.3 .... 星期几由一位十进制数字表示。星期一应确定为任何日历周的第 [1] 天,同一周的后续天应按升序编号到星期日(第 [7] 天)。

推荐阅读