【发布时间】:2016-04-20 20:20:10
【问题描述】:
根据ISO 8601,第一周是至少有 4 天的一周,一周从星期一开始。对于一周从另一天开始的国家/地区(例如星期日),第一周是如何定义的?
【问题讨论】:
标签: date calendar week-number
根据ISO 8601,第一周是至少有 4 天的一周,一周从星期一开始。对于一周从另一天开始的国家/地区(例如星期日),第一周是如何定义的?
【问题讨论】:
标签: date calendar week-number
可以通过各种方式定义周。
ISO 8601 标准方式(从星期一开始,第 1 周有一年中的第一个星期四)是明智和实用的,并且越来越普遍。在 Java 及其java.time 框架中(参见Tutorial),标准定义的行为被封装在IsoFields 类中。有关示例,请参阅 my Answer 到另一个问题。
非标准方法差异很大。与项目中的利益相关者一起确定此类定义时要非常清楚。还要记录代码库中的定义。
通常,公司将自己定义的fiscal year 用于其他业务目的,而有些公司仅将会计年度用于记账,而将另一个日历系统用于运营。通常,财政年度的最后一天是一周中的某一天,例如最接近 12 月 31 日的星期五。所以一年可能有 52 或 53周。
有时第 1 周是包含 1 月 1 日的那一周。有些人将该周的前几天(12 月 31 日、12 月 30 日等)包括在新年的一周中,而有些人将一周分为两部分(去年的部分和新年部分)。
有些人将第 1 周定义为包含一周第一天的最早一周。当然,一周的第一天是由文化规范定义的,例如美国的星期日。
有些人将第 1 周定义为一年中第一个完整的一周,没有前几年的天数。所以 1 月 1 日、1 月 2 日等等都可能算在最后一年。
一些行业和一些公司定义了自己一年中的周数。有些是可以预测的,其模式可以确定性地预测到未来,而有些则是任意的,由人类每年或每两年或三年定义一次。
直到 1990 年代,Eastman Kodak Company 几十年来一直在使用和推广一种截然不同的日历系统,International Fixed Calendar。该系统提供一年 13 个月,每个月 28 天(正好 4 周),每个日期始终固定在同一个工作日。所以每年都有第一周从 1 月 1 日星期日开始。
French Republican Calendar 是另一个使用了十多年的不同日历,每周工作十天。
保持开放的心态,理解诸如此类的日期时间问题。请理解,虽然一天是由自然定义的(地球自转),而一年是由自然定义的(地球围绕太阳的轨道),但几周和几个月等等都是人类的发明。该定义受制于人类的创造力和人类的愚蠢(例如:Daylight Saving Time 废话)。
【讨论】:
作为标准,它是标准化的。到处都一样。
【讨论】: