ISO周日历

ISO周日历系统是ISO 8601日期和时间标准的一部分，是一种闰周历系统。这个系统主要用在政府和商务的会计年度，用以维持时序。这个系统依据格里历的年度中特定的一个周日，决定该年是否要增加一个星期。
格里历的置闰循环是400年97个闰日，包含20,871个完整的星期。ISO周日历在400年的循环中有71年会有额外的第53周，一年的平均长度是52.1775周；平均每个月有4.348125个星期。
一个ISO周数年（也可以简称为ISO年）有52或53个完整的星期，也就是以364天或371天取代了常用的365或366天。这额外增加出来的一个星期称为闰周，然而在ISO 8601并没有这个名词。每个星期从星期一开始。每年的第一个星期包含当年的第一个星期四（并且总是包含1月4日）。ISO周的年编号因此会稍微偏离1月1日几天。
一个日期可以依据ISO星期编号年的格式YYYY、周数的格式ww前面加上字母W，和d从1到7的一个数位，星期一是一周的开头，星期日是结尾。例如，格里历2006年12月31日可以写成2006年-W52-7（扩展形式）或2006W527（紧凑形式）。

**与格里历关系**
如果格里历年的第一天是星期五、星期六和星期日，或是星期六和星期日，或正好就是星期日是格里历年的第一天（在ISO年是去年的最后一天）；又或者是星期一、星期二和星期三，或者是星期一和星期二，或正好就是星期一在格里历年的最后一天（是下一个ISO年的第一个星期），ISO周数年的年份会偏离格里历的年份。从1月4日至12月28日，ISO周数年和所有星期4的周数都会与格里历相同。

**第一周**
ISO 8601定义包含当年第一个星期四的那一周是第一个星期。
基于这个定义，下列的属性有相互的等价性： 
*第一周至少有4天在1月里面。
*该年的「第一天」是最靠近该年1月1日的星期一。
*第一个星期最早是12月29日至1月4日，最晚是1月4日至1月10日。
*如果1月1日和星期六与星期日不是工作日，1月4日就会是第一个工作日。 
如果1月1日是星期一、二、三、或四，它就是第一周，如果1月1日是星期五，它就是去年度的第53周；如果是星期六，它是去年第52周的一部分（如果上一年是格里历的闰年，它就是第53周的一部分）；如果是星期日，它是去年第52周的部分。

**最后一周**
ISO周日历的最后一星期是第52周或53周，是下一年的第一周之前。这一周的特质如下：
*格里历的最后一个星期四会在这一周内。
*最后一周有至少有4天在12月里面。
*它的中间日，星期四，一定在年尾。
*最接近格里历年结束的是12月31日星期日。
*12月28日一定在年度内。因为最后一周的日期最晚是12月28日至1月3日，最早是12月22日至12月28日。
如果12月31日是星期一、二、或三，它是下年度的第一周；如果是星期四，它会是结束结束的第53周；如果是星期五，它是年度的第52周（或是在闰年的第53周）；如果是星期六或星期日，它是结束年度的第52周。

**每年的星期**
长年，是有53星期的年，可以有下列与定义等效的叙述：
*任何从星期四开始的年（主日字母D或DC）和以星期三开始的闰年（ED）。
*任何以星期四结束的年（D、ED）和以星期五结束的闰年（DC）- 在1月1日和12月31日（在平年）或其中之一（在闰年）是星期四的年度。
其它所有的ISO周日历的年都是只有52周的短年。
在给定的年度中，12月28日对应的周数就是当年的星期数目。
平均而言，每5.6388……年（=7/365.2425 – 52 X 7 = 400/71）有一年是53周的长年。
下面的71年是400年循环（加上2,000就是本世纪的年度）中有53周的年度（需要注意闰年有2月29日），未列出的年份仅有52周： 
ISO的常年有43次间隔6年，27次间隔5年，有一次间隔7年（从296年到303年）。
格里历年与这71个长年的对应关系可以细分如下：- 27个格里历的闰年（366天，在儒略历也是闰年）。 Gregorian leap years (366 
** 13个开始于星期四，结束在星期五，和
** 14个开始于星期三，结束在星期四;- 44个平年（365天，相较于儒略历也是平年）开始和结束都是星期四。
格里历对应于短年的ISO周日历（无论开始或结束都不是星期四）的其余329年，可以细分叙述如下：- 有70个闰年（对应的儒略历年也都是闰年），和- 259个平年（但是儒略历有3年是闰年：100、200、和300）。
因此，在400年的循环中：- 27个ISO周日历的长年（53周或371天）比对应的格里历闰年（366天）多5天。- 44个ISO周日历的长年（53周或371天）比对应的格里历平年（365天）多6天。- 70个ISO周日历的短年（52周或364天）比对应的格里历闰年（366天）少2天。- 259个ISO周日历的短年（52周或364天）比对应的格里历平年（365天）少1天。

**每个月的星期**
ISO的标准并未定义任何周与月相关联的协定。月中的每一天和月，也都以周和周日表达，且不会混淆不清。
在会计年度中，周年统计受益于星期是一个显著实体的规则。因此，在实务中通常每一季固定有13个星期，并且分割成5+4+4周、4+5+4周、或4+4+5周。在53个星期的长年中，最后一季有14个星期。
虽然ISO 8601认为没有这样的需要，但在有必要将星期分配到一个月中的时候，可以应用的规则是从每年的第一个星期开始。由这种模式产生的结果，会是不规则的。有4个月（或在长年有5个月）会有5个星期，但是至少有29天是从星期四开始，30天是从星期三开始，31天从星期二开始。

**固定周数的日期**
每年的一月和二月都有四天的周数是固定的。除外以星期四开始的闰年(三月份起周数加一)，每个月都有四到五天的周数是固定的(详见下表)。

**优点**
所有星期(周)都有7天，即没有任何一个星期是不完整的。
*每个星期都只属于同一年中，即没有不明确或属于两年中的星期。
*日期直接对应于工作日。
*每一星期都是从周一开始，到周日结束。
*如果单独使用星期而不使用月的概念时，则所有星期的序号在每一年都是相同的，只是有些年份的末尾有第53周。
*星期与格里历相同。

**转换**
查表法
主日字母星期表不仅可以用来查找格里历(CD)任意一年的主日字母(DL)和任意一天的日字母(dl)及星期(w)，而且可以查找ISO周日历(WD)的周数(n)及其相应的日期(D)，因此可以利用该表来实现这两种日历的相互转换。
位于世纪(c)列和年(y)行交叉处(c, y)的字母就是该年的主日字母(本世纪的主日字母位于A列)，而位于日列(d)和月(m)行交叉点(d, m)的字母就是该日的字母，知道了主日字母就可以确定其它日字母的星期。由字母D就可以查到周数固定的日期，当遇到以周四开始的闰年(DC)从三月份起周数加一。
例一查找2032年10月1日的星期及周数:
c = 20，y = 32 mod 28 = 4，d = 1，m = 10；
DL = (20，04/04) = DC，dl = (1，10) = A，D = (4，10)(40 + 1)；
C = 周日，A = 周五，D = 周一(41)；
n = 41 - 1 = 40，w = 5；
WD = 2032–W40–5。
例二查找1980–W40–1的日期:
c = 19，y = 80 mod 28 = 24，n = 40，w = 1 = 周一；
DL = (19，24/24) = FE，D = (4，10)；
E = 周日，D = 周六(40)，F = (6，10)周一(41) = (-1，10)(29，9)周一(40)；
CD = 1980年9月29日周一。

**参考文献**

**注解**

**外部连结**
 The Mathematics of the ISO 8601 Calendardate=20181224200200 - ISO week date calendardate=20141029094804 - Another website giving you the current week number- ISO Date and time format FAQdate=20110606141500