cha*_*ama 9 java datetime library-design dayofweek java-time
我正在查看Java 8的新日期时间包的教程.在关于DayOfWeek和Month枚举的页面上,它表示DayOfMonth枚举从星期一到星期日.这是为什么?我使用的每个其他系统(包括.NET)都在周日开始.
And*_*ner 12
可能是因为ISO8601,如timeanddate.com所述:
根据国际标准ISO 8601,星期一是本周的第一天.接下来是周二,周三,周四,周五和周六.星期天是第7天也是最后一天.
虽然这是国际标准,但包括美国,加拿大和澳大利亚在内的一些国家将周日视为本周的开始.
可以在此处找到1988版标准中的一些更直接的引用:
- 附件A.3 ....出于商业目的,即可以使用周数的会计,计划和类似目的,星期一被认为是最适合作为一周的第一天.
- 3.17周,日历:一个日历年内的七天期间,从星期一开始,并在一年内按其序号确定; 一年中的第一个日历周是包含该年第一个星期四的那个日历周.在格里高利历中,这相当于包括1月4日在内的一周.
- 5.2.3 ....星期几用一个十进制数字表示.星期一应标识为任何日历周的第[1]天,同一周的后续日期应按升序顺序编号为星期日(第[7]天).
来自JavaDocs:
每个星期都有一个int值.int值遵循ISO-8601标准,从1(星期一)到7(星期日).建议应用程序使用enum而不是int值来确保代码清晰度.
https://docs.oracle.com/javase/8/docs/api/java/time/DayOfWeek.html