ISO周日历
此条目翻译品质不佳。 (2020年7月24日) |
此条目目前正依照其他维基百科上的内容进行翻译。 (2017年7月18日) |
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(紧凑形式)。
周数 | 周一 | 周二 | 周三 | 周四 | 周五 | 周六 | 周日 |
---|---|---|---|---|---|---|---|
| |||||||
第44周 | 28 | 29 | 30 | 31 | 01 | 02 | 03
|
第45周 | 04 | 05 | 06 | 07 | 08 | 09 | 10
|
第46周 | 11 | 12 | 13 | 14 | 15 | 16 | 17
|
第47周 | 18 | 19 | 20 | 21 | 22 | 23 | 24
|
第48周 | 25 | 26 | 27 | 28 | 29 | 30 | 01 |
与格里历关系
如果格里历年的第一天是星期五、星期六和星期日,或是星期六和星期日,或正好就是星期日是格里历年的第一天(在ISO年是去年的最后一天);又或者是星期一、星期二和星期三,或者是星期一和星期二,或正好就是星期一在格里历年的最后一天(是下一个ISO年的第一个星期),ISO周数年的年份会偏离格里历的年份。从1月4日至12月28日,ISO周数年和所有星期4的周数都会与格里历相同。
日期 | 注解 | ||
---|---|---|---|
ISO闰周历(年) | 格里历 | ||
2004-W53-6 | 2005年1月1日 星期六 |
2005-01-01 | |
2004-W53-7 | 2005年1月2日 星期日 |
2005-01-02 | |
2005-W52-6 | 2005年12月31日 星期六 |
2005-12-31 | |
2007-W01-1 | 2007年1月1日 星期一 |
2007-01-01 | 两者从同一天开始 |
2007-W52-7 | 2007年12月30日 星期日 |
2007-12-30 | |
2008-W01-1 | 2007年12月31日 星期一 |
2007-12-31 | |
2008-W01-2 | 2008年1月1日 星期二 |
2008-01-01 | 格里历的2008年是闰年,ISO年的2008年则短了2天。在开始时多了1天,结束时少了3天。 |
2008-W52-7 | 2008年12月28日 星期日 |
2008-12-28 | ISO年的2009年开始的3天在格里历是2008年结束前的最后3天。 |
2009-W01-1 | 2008年12月29日 星期一 |
2008-12-29 | |
2009-W01-2 | 2008年12月30日 星期二 |
2008-12-30 | |
2009-W01-3 | 2008年12月31日 星期三 |
2008-12-31 | |
2009-W01-4 | 2009年1月1日 星期四 |
2009-01-01 | |
2009-W53-4 | 2009年12月31日 星期四 |
2009-12-31 | ISO年的2009年有53周,结束前的最后3天进入了格里历的2010年。 |
2009-W53-5 | 2010年1月1日 星期五 |
2010-01-01 | |
2009-W53-6 | 2010年1月2日 星期六 |
2010-01-02 | |
2009-W53-7 | 2010年1月3日 星期日 |
2010-01-03 |
第一周
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周:
004 | 009 | 015 | 020 | 026 | 28 |
---|---|---|---|---|---|
032 | 037 | 043 | 048 | 054 | 56 |
060 | 065 | 071 | 076 | 082 | 84 |
088 | 093 | 099 | 96 | ||
105 | 111 | 116 | 122 | 124 | |
128 | 133 | 139 | 144 | 150 | 152 |
156 | 161 | 167 | 172 | 178 | 180 |
184 | 189 | 195 | 192 | ||
201 | 207 | 212 | 218 | 220 | |
224 | 229 | 235 | 240 | 246 | 248 |
252 | 257 | 263 | 268 | 274 | 276 |
280 | 285 | 291 | 296 | 288 | |
303 | 308 | 314 | 316 | ||
320 | 325 | 331 | 336 | 342 | 344 |
348 | 353 | 359 | 364 | 370 | 372 |
376 | 381 | 387 | 392 | 398 | 400 |
5 | 6 | 5 | 6 | 6 | 28 |
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天从星期二开始。
固定周数的日期
每年的一月和二月都有四天的周数是固定的。除外以星期四开始的闰年(三月份起周数加一),每个月都有四到五天的周数是固定的(详见下表)。
月份 | 日期 | 周数 | ||||
---|---|---|---|---|---|---|
01月 | 04 | 11 | 18 | 25 | 01–04 | |
02月 | 01 | 08 | 15 | 22 | 05–08 | |
03月 | 01 | 08 | 15 | 22 | 29 | 09–13 |
04月 | 05 | 12 | 19 | 26 | 14–17 | |
05月 | 03 | 10 | 17 | 24 | 31 | 18–22 |
06月 | 07 | 14 | 21 | 28 | 23–26 | |
07月 | 05 | 12 | 19 | 26 | 27–30 | |
08月 | 02 | 09 | 16 | 23 | 30 | 31–35 |
09月 | 06 | 13 | 20 | 27 | 36–39 | |
10月 | 04 | 11 | 18 | 25 | 40–43 | |
11月 | 01 | 08 | 15 | 22 | 29 | 44–48 |
12月 | 06 | 13 | 20 | 27 | 49–52 |
优点
- 所有星期(周)都有7天,即没有任何一个星期是不完整的。
- 每个星期都只属于同一年中,即没有不明确或属于两年中的星期。
- 日期直接对应于工作日。
- 每一星期都是从周一开始,到周日结束。
- 如果单独使用星期而不使用月的概念时,则所有星期的序号在每一年都是相同的,只是有些年份的末尾有第53周。
- 星期与格里历相同。
转换
查表法
主日字母星期表不仅可以用来查找格里历(CD)任意一年的主日字母(DL)和任意一天的日字母(dl)及星期(w),而且可以查找ISO周日历(WD)的周数(n)及其相应的日期(D),因此可以利用该表来实现这两种日历的相互转换。
位于世纪(c)列和年(y)行交叉处(c, y)的字母就是该年的主日字母(本世纪的主日字母位于A列),而位于日列(d)和月(m)行交叉点(d, m)的字母就是该日的字母,知道了主日字母就可以确定其它日字母的星期。由字母D就可以查到周数固定的日期,当遇到以周四开始的闰年(DC)从三月份起周数加一。
周数 | 日期 | 01 08 15 22 29 |
02 09 16 23 30 |
03 10 17 24 31 |
04 11 18 25 -- |
05 12 19 26 -- |
06 13 20 27 -- |
07 14 21 28 -- |
主日字母星期表 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
01–04 | 40–43 | 01月 | 10月 | A | B | C | D | E | F | G | 00 | 06 | 12 | 17 | 23 | ||
14–17 | 27–30 | 04月 | 07月 | G | A | B | C | D | E | F | 01 | 07 | 12 | 18 | 24 | ||
36–39 | 49–52 | 09月 | 12月 | F | G | A | B | C | D | E | 02 | 08 | 13 | 19 | 24 | ||
23–26 | 06月 | E | F | G | A | B | C | D | 03 | 08 | 14 | 20 | 25 | ||||
05–08 | 09–13 | 44–48 | 02月 | 03月 | 11月 | D | E | F | G | A | B | C | 04 | 09 | 15 | 20 | 26 |
31–35 | 08月 | C | D | E | F | G | A | B | 04 | 10 | 16 | 21 | 27 | ||||
18–22 | 05月 | B | C | D | E | F | G | A | 05 | 11 | 16 | 22 | 00 | ||||
年的前2位数 mod 4 | 20 00 16 |
21 01 17 |
22 02 18 |
23 03 19 |
年的后2位 数 mod 28 |
例一查找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日周一。