ISO週日曆

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(緊湊形式)。

2021年2月
週數 週一 週二 週三 週四 週五 週六 週日
第5周 01 02 03 04 05 06 07

第6周 08 09 10 11 12 13 14

第7周 15 16 17 18 19 20 21

第8周 22 23 24 25 26 27 28

與格里曆關係

如果格里曆年的第一天是星期五、星期六和星期日,或是星期六和星期日,或正好就是星期日是格里曆年的第一天(在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週:

004009015020026 28
032037043048054 56
060065071076082 84
088093099 96
105111116122 124
128133139144150 152
156161167172178 180
184189195 192
201207212218 220
224229235240246 248
252257263268274 276
280285291296 288
303308314 316
320325331336342 344
348353359364370 372
376381387392398 400
5656628

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月 04111825 01–04
02月 01081522 05–08
03月 0108152229 09–13
04月 05121926 14–17
05月 0310172431 18–22
06月 07142128 23–26
07月 05121926 27–30
08月 0209162330 31–35
09月 06132027 36–39
10月 04111825 40–43
11月 0108152229 44–48
12月 06132027 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.

優點

  • 所有周都有積分天數(即沒有小數周)。
  • 所有年都有整數周數。
  • 日期直接告訴工作日。
  • 所有周數年從星期一開始,到星期日結束。
  • 當使用本身不使用月份的概念時,所有周數年都是一樣的,只是有些年結束時有一周 53。
  • 周與公曆一樣

缺點

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–0440–4301月10月ABCDEFG0006121723
14–1727–3004月07月GABCDEF0107121824
36–3949–5209月12月FGABCDE0208131924
23–2606月EFGABCD0308142025
05–0809–1344–48020311DEFGABC0409152026
31–3508月CDEFGAB0410162127
18–2205月BCDEFGA0511162200
年的前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: JanFebMarAprMayJunJulAugSepOctNovDec
Add: 0315990120151181212243273304334
For leap years: 0316091121152182213244274305335

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. . [2015-04-08]. (原始内容存档于2015-03-26).

註解

  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

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.