ISO周日历 - Wikiwand
For faster navigation, this Iframe is preloading the Wikiwand page for ISO周日历.

ISO周日历

维基百科,自由的百科全书

此条目目前正依照其他维基百科上的内容进行翻译。 (2017年7月18日)如果您擅长翻译,并清楚本条目的领域,欢迎协助翻译、改善或校对本条目。此外,长期闲置、未翻译或影响阅读的内容可能会被移除。

ISO周日历系统是ISO 8601日期和时间标准的一部分,是一种闰周历系统。这个系统主要用在政府商务会计年度,用以维持时序。这个系统依据格里历的年度中特定的一个周日,决定该年是否要增加一个星期。

格里历的置闰循环是400年97个闰日,包含20,871个完整的星期。在每个循环中有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(紧凑形式)。

2020年5月
周数 周一 周二 周三 周四 周五 周六 周日
第18周 27 28 29 30 01 02 03

第19周 04 05 06 07 08 09 10

第20周 11 12 13 14 15 16 17

第21周 18 19 20 21 22 23 24

第22周 25 26 27 28 29 30 31

与格里历关系

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

元旦前后的当时日期举例
日期 注解
Vulgar ISO
六 1 1月 2005 2005-01-01 2004-W53-6
日 2 1月 2005 2005-01-02 2004-W53-7
六 31 12月 2005 2005-12-31 2005-W52-6
一 1 1月 2007 2007-01-01 2007-W01-1 Both years 2007 start with the same day.
日 30 12月 2007 2007-12-30 2007-W52-7
一 31 12月 2007 2007-12-31 2008-W01-1
二 1 1月 2008 2008-01-01 2008-W01-2 格里历的2008年是闰年,ISO年的2008年则短了2天。在开始时多了1天,结束时少了3天。
日 28 12月 2008 2008-12-28 2008-W52-7 ISO年的2009年开始的3天在格里历是2008年结束前的最后3天。
一 29 12月 2008 2008-12-29 2009-W01-1
二 30 12月 2008 2008-12-30 2009-W01-2
三 31 12月 2008 2008-12-31 2009-W01-3
四 1 1月 2009 2009-01-01 2009-W01-4
四 31 12月 2009 2009-12-31 2009-W53-4 ISO年的2009年有53周,结束前的最后3天进入了格里历的2010年。
五 1 1月 2010 2010-01-01 2009-W53-5
六 2 1月 2010 2010-01-02 2009-W53-6
日 3 1月 2010 2010-01-03 2009-W53-7

第一周

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星期的年,可以有下列与定义等效的叙述:

  • 任何从星期四开始的年(主日字母DDC)和以星期三开始的闰年(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个长年的对应关系可以细分如下:

格里历对应于短年的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

Equal weeks

Week triplets
第6周 05 06 07 08 09 10 11
第10周 05 06 07 08 09 10 11
第45周 05 06 07 08 09 10 11

第7周 12 13 14 15 16 17 18
第11周 12 13 14 15 16 17 18
第46周 12 13 14 15 16 17 18

第8周 19 20 21 22 23 24 25
第12周 19 20 21 22 23 24 25
第47周 19 20 21 22 23 24 25

The pairs 02/41, 03/42, 04/43, 05/44, 15/28, 16/29, 37/50, 38/51 and triplets 06/10/45, 07/11/46, 08/12/47 have the same days of the month in common years. Of these, the pairs 10/45, 11/46, 12/47, 15/28, 16/29, 37/50 and 38/51 share their days also in leap years. Leap years also have triplets 03/15/28, 04/16/29 and pairs 06/32, 07/33, 08/34.

The weeks 09, 19–26, 31 and 35 never share their days of the month with any other week of the same year.

优点

  • All weeks have an integral number of days (i.e. there are no fractional weeks).
  • All years have an integral number of weeks.
  • The date directly tells the weekday.
  • All week-numbering years start with a Monday and end with a Sunday.
  • When used by itself without using the concept of month, all week-numbering years are the same except that some years have a week 53 at the end.
  • The weeks are the same as used with the Gregorian calendar.

缺点

The year number of the ISO week very often differs from the Gregorian year number for dates close to 1 January. For example, 29 December 2014 is ISO 2015-W1-1, i.e., it is in year 2015 instead of 2014. A programming bug confusing these two year numbers is probably the cause of some Android users of Twitter unable to login around midnight of 29 December 2014 UTC. [1]

Solar astronomic phenomena, such as equinox and solstice, vary over a range of at least seven days. This is because each equinox and solstice may occur any day of the week and hence on at least seven different ISO week dates. For example, there are spring equinoxes on 2004-W12-7 and 2010-W11-7.

The ISO week calendar relies on the Gregorian calendar, which it augments, to define the new year day (Monday of week 01). As a result, leap weeks are spread across the 400-year cycle in a complex, seemingly random pattern. There is no simple algorithm to determine whether a year has 53 weeks without tabular lookup. Most calendar reform proposals using leap week calendars are simpler in this regard, although they may choose a different leap cycle.

Not all parts of the world have a work week that begins with Monday. For example, in some Muslim countries, the work week may begin on Saturday, while in Israel it may begin on Sunday. In the US the work week is often defined to start on Monday, although the week itself is usually considered to start on Sunday.

转换

查表法

主日字母星期表不仅可以用来查找格里历(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 = (2004/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 week number of any date can be calculated, given its ordinal date (i.e. position within the year) and its day of the week. If the ordinal date is not known, it can be computed by any of several methods; perhaps the most direct is a table such as the following.

To the day of: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Add: 0 31 59 90 120 151 181 212 243 273 304 334
For leap years: 0 31 60 91 121 152 182 213 244 274 305 335

Method: Using ISO weekday numbers (running from 1 for Monday to 7 for Sunday), subtract the weekday from the ordinal date, then add 10. Divide the result by 7. Ignore the remainder; the quotient equals the week number. If the week number thus obtained equals 0, it means that the given date belongs to the preceding (week-based) year. If a week number of 53 is obtained, one must check that the date is not actually in week 1 of the following year.

Example: Friday 26 September 2008

  • Ordinal day: 244 + 26 = 270
  • Weekday: Friday = 5
  • 270 − 5 + 10 = 275
  • 275 / 7 = 39.28…
  • Result: Week 39

计算给定年、周数和周日的日期

This method requires that one know the weekday of 4 January of the year in question.[注 1] Add 3 to the number of this weekday, giving a correction to be used for dates within this year.

Method: Multiply the week number by 7, then add the weekday. From this sum subtract the correction for the year. The result is the ordinal date, which can be converted into a calendar date using the table in the preceding section. If the ordinal date thus obtained is zero or negative, the date belongs to the previous calendar year; if greater than the number of days in the year, to the following year.

Example: year 2008, week 39, Saturday (day 6)

  • Correction for 2008: 5 + 3 = 8
  • (39 × 7) + 6 = 279
  • 279 − 8 = 271
  • Ordinal day 271 of a leap year is day 271 − 244 = 27 September
  • Result: 27 September 2008

其他的周数系统

For an overview of week numbering systems see week number.

The US system has weeks from Sunday through Saturday, and partial weeks at the beginning and the end of the year, i.e. always 53 weeks. An advantage is that no separate year numbering like the ISO year is needed. Correspondence of lexicographical order and chronological order is preserved (just like with the ISO year-week-weekday numbering), but partial weeks make some computations of weekly statistics or payments inaccurate at end of December or beginning of January.

A variant of this US scheme groups the possible 1 to 6 days of December remaining in the last week of the Gregorian year within week 1 in January of the next Gregorian year, to make it a full week, bringing a system with accounting years having also 52 or 53 weeks and only the last 6 days of December may be counted as part of another year than the Gregorian year.

The US broadcast calendar counts the week containing 1 January as the first of the year, but otherwise works like ISO week numbering without partial weeks.

参考文献

注解

  1. ^ Either see calculating the day of the week, or use this quick-and-dirty method: Subtract 1965 from the year. To this difference add one-quarter of itself, dropping any fractions. Divide this result by 7, discarding the quotient and keeping the remainder. Add 1 to this remainder, giving the weekday number of 4 January. Do not use for years past 2100.

外部链接

Template:Chronology

{{bottomLinkPreText}} {{bottomLinkText}}
ISO周日历
Listen to this article