ISO-veckodatum

Aktuell vecka uttryckt enligt ISO 8601 [ ]
Datum 2023-02-27
Vecka 2023-W09
Vecka med veckodag 2023-W09-1

ISO -veckodatumsystemet är i själva verket ett skottveckskalendersystem som är en del av ISO 8601- datum- och tidsstandarden utfärdad av International Organization for Standardization (ISO) sedan 1988 (senast reviderad 2019) och innan dess definierades den i ISO (R) 2015 sedan 1971. Det används (främst) inom myndigheter och företag under räkenskapsår , såväl som i tidtagning. Detta var tidigare känt som "Industriell datumkodning". Systemet specificerar ett veckoår ovanpå den gregorianska kalendern genom att definiera en notation för ordinarie veckor på året.

Den gregorianska språngcykeln , som har 97 skottdagar fördelade på 400 år, innehåller ett helt antal veckor ( 20 871 ). I varje cykel finns det 71 år med ytterligare en 53:e vecka (motsvarande de gregorianska åren som innehåller 53 torsdagar). Ett genomsnittligt år är exakt 52,1775 veckor långt; månader ( 1 12 år) i genomsnitt på exakt 4 348 125 veckor.

Ett ISO-veckonummerår (även kallat ISO-år informellt) har 52 eller 53 hela veckor. Det är 364 eller 371 dagar istället för de vanliga 365 eller 366 dagar. Dessa 53 veckoår inträffar på alla år som har torsdag som 1:a januari och på skottår som börjar onsdagen den 1:a. Den extra veckan kallas ibland för en skottvecka , även om ISO 8601 inte använder denna term.

Veckorna börjar med måndag och slutar på söndag. Varje veckas år är det gregorianska år då torsdagen infaller. Årets första vecka innehåller därför alltid 4 januari . ISO-veckans årsnummer avviker därför vanligtvis med 1 från den gregorianska under vissa dagar nära 1 januari.

Exempel på samtida datum kring nyårsdagen
Engelska kort ISO
Lör 1 januari 1977 1977-01-01 1976-W53-6
Sön 2 januari 1977 1977-01-02 1976-W53-7
Lör 31 december 1977 1977-12-31 1977-W52-6
Sön 1 januari 1978 1978-01-01 1977-W52-7
mån 2 januari 1978 1978-01-02 1978-W01-1
Sön 31 december 1978 1978-12-31 1978-W52-7
mån 1 januari 1979 1979-01-01 1979-W01-1
Sön 30 december 1979 1979-12-30 1979-W52-7
mån 31 december 1979 1979-12-31 1980-W01-1
Tis 1 januari 1980 1980-01-01 1980-W01-2
Sön 28 december 1980 1980-12-28 1980-W52-7
mån 29 december 1980 1980-12-29 1981-W01-1
Tis 30 december 1980 1980-12-30 1981-W01-2
Onsdag 31 december 1980 1980-12-31 1981-W01-3
tors 1 januari 1981 1981-01-01 1981-W01-4
tors 31 december 1981 1981-12-31 1981-W53-4
Fre 1 januari 1982 1982-01-01 1981-W53-5
Lör 2 januari 1982 1982-01-02 1981-W53-6
Sön 3 januari 1982 1982-01-03 1981-W53-7
Anmärkningar:
  • Båda åren 1979 börjar med samma dag.
  • 1980 är ett skottår. 1980W är 2 dagar kortare:
    • 1 dag längre i början,
    • 3 dagar kortare på slutet.
  • 1981W börjar tre dagar före slutet av 1980.
  • 1981W har 53 veckor och slutar tre dagar in på 1982.

Ett exakt datum anges av ISO-veckonummeråret i formatet YYYY , ett veckonummer i formatet ww med bokstaven "W" som prefix, och veckodagsnumret , en siffra d från 1 till 7, som börjar med måndag och slutar med söndag. Till exempel motsvarar det gregorianska datumet måndagen den 27 februari 2023 dag nummer 1 i veckonummer 09 av 2023, och skrivs som 2023-W09-1 (i utökad form) eller 2023W091 (i kompakt form). ISO-året är något förskjutet till det gregorianska året; till exempel är måndagen den 30 december 2019 i den gregorianska kalendern den första dagen i vecka 1 av 2020 i ISO-kalendern och skrivs som 2020-W01-1 eller 2020W011.

Förhållande till den gregorianska kalendern

ISO-veckans årtal avviker från det gregorianska årstalet på ett av tre sätt. Dagarna som skiljer sig är en fredag ​​till söndag, eller en lördag och söndag, eller bara en söndag, i början av det gregorianska året (som är i slutet av föregående ISO-år) och en måndag till onsdag, eller en måndag och tisdag , eller bara en måndag, i slutet av det gregorianska året (som är i vecka 01 nästa ISO-år). Under perioden 4 januari till 28 december är ISO-veckans nummer alltid lika med det gregorianska årstalet. Samma sak gäller varje torsdag.

Första veckan

ISO 8601-definitionen för vecka 01 är veckan med den första torsdagen i det gregorianska året (dvs. januari). Följande definitioner baserade på egenskaperna för denna vecka är ömsesidigt likvärdiga, eftersom ISO-veckan börjar med måndag:

  • Det är den första veckan med en majoritet (4 eller fler) av sina dagar i januari.
  • Dess första dag är måndagen närmast den 1 januari.
  • Den har 4 januari i sig. Därför sträcker sig den tidigast möjliga första veckan från måndagen den 29 december (föregående gregorianska år) till söndagen den 4 januari, den senaste möjliga första veckan sträcker sig från måndagen den 4 januari till söndagen den 10 januari.
  • Den har årets första arbetsdag i sig, om lördagar, söndagar och 1 januari inte är arbetsdagar.

Om den 1 januari är på en måndag, tisdag, onsdag eller torsdag är den i W01. Om det är på en fredag ​​är det en del av W53 från föregående år. Om det är på en lördag är det en del av den sista veckan föregående år som är numrerad W52 ett vanligt år och W53 under ett skottår. Om det är på en söndag är det en del av W52 från föregående år.

Veckodatum egenheter i början och slutet av ett år

Dominical bokstav(er)
Dagar i början av januari Effekt Dagar i slutet av december

1 mån

2 ti

3 Vi

4 Th

5 Fr

6 Sa

7 sö
W01-1
veckan 01 jan
...
vecka 31 dec

1 mån

2 ti

3 Vi

4 Th

5 Fr

6 Sa

7 sö
G ( F ) 01 02 03 04 05 06 07 01 jan W01 ... W01 31 (30)   (31)
F ( E ) 01 02 03 04 05 06 31 dec 30 (29) 31 (30)   (31)
E ( D ) 01 02 03 04 05 30 dec W01 (W53) 29 (28) 30 (29) 31 (30)   (31)
D ( C ) 01 02 03 04 29 dec W53 28 (27) 29 (28) 30 (29) 31 (30)   (31)
C ( B ) 01 02 03 04 jan W53 W52 27 (26) 28 (27) 29 (28) 30 (29) 31 (30)   (31)
B ( A ) 01 02 03 jan W52 (W53) 26 (25) 27 (26) 28 (27) 29 (28) 30 (29) 31 (30)   (31)
A ( G ) 01 02 jan W52 W52 (W01) 25 (31) 26 (25) 27 (26) 28 (27) 29 (28) 30 (29) 31 (30)

Anteckningar

Förra veckan

Den sista veckan i ISO veckonummeråret, dvs W52 eller W53, är veckan före W01 nästa år. Veckans fastigheter är:

  • Den har årets sista torsdag i sig.
  • Det är den sista veckan med en majoritet (4 eller fler) av sina dagar i december.
  • Dess mellandag, torsdag, infaller på det sista året.
  • Dess sista dag är söndagen närmast den 31 december.
  • Den har 28 december i sig.

Den tidigaste möjliga förra veckan sträcker sig alltså från måndagen den 22 december till söndagen den 28 december, den senaste möjliga förra veckan sträcker sig från måndagen den 28 december till söndagen den 3 januari.

Om den 31 december är på en måndag, tisdag eller onsdag är det i W01 nästa år. Om det är på en torsdag, är det i W53 av året som precis slutar. Om det på en fredag ​​är i W52 på året som bara slutar i vanliga år och W53 på skottår. Om det är på en lördag eller söndag, är det i W52 av året som bara slutar.

Sammanfattning av senaste veckorna
01 jan W01-1 Vanligt år (365 − 1 eller + 6) Skottår (366 − 2 eller + 5)
mån 01 jan G +0 −1 GF +0 −2
tis 31 dec F +1 −2 FE +1 −3
ons 30 dec E +2 −3 ED + 2 + 3
tors 29 dec D + 3 + 3 DC + 3 + 2
fre 04 jan C −3 +2 CB −3 +1
03 jan B −2 +1 BA −2 +0
Sol 02 jan A −1 +0 AG −1 −1

Veckor per år

De långa åren , med 53 veckor i dem, kan beskrivas med någon av följande motsvarande definitioner:

  • alla år som börjar på torsdag ( huvudbokstav D eller DC ) och alla skottår som börjar på onsdag ( ED )
  • alla år som slutar på torsdag (D, ED) och alla skottår som slutar på fredag ​​(DC)
  • år då 1 januari eller 31 december är torsdagar

Alla andra veckonummerår är korta år och har 52 veckor.

Antalet veckor under ett givet år är lika med motsvarande veckonummer den 28 december, eftersom det är det enda datumet som alltid är den sista veckan på året eftersom det är en vecka före den 4 januari som alltid är den första veckan. av följande år.

Med endast ordningsårets nummer y kan antalet veckor under det året bestämmas från en funktion, som returnerar veckodagen den 31 december:

Detta kan uttryckas som en enskild funktion utan kasusskillnad på olika sätt, t.ex.

Långa år per 400-åriga språngcykel, markerade har också 29 feb; lägga till 2000 ger aktuella årtal
004 009 015 020 026
032 037 043 048 054
060 065 071 076 082
088 093 099
105 111 116 122
128 133 139 144 150
156 161 167 172 178
184 189 195
201 207 212 218
224 229 235 240 246
252 257 263 268 274
280 285 291 296
303 308 314
320 325 331 336 342
348 353 359 364 370
376 381 387 392 398

I genomsnitt har ett år 53 veckor var 400 71 = 5,6338... år; det är 43 gånger när dessa långa år skiljer sig 6 år, 27 gånger när de skiljer 5 år och en gång skiljer det sig 7 år (mellan år 296 och 303). De gregorianska åren som motsvarar dessa 71 långa år kan delas in enligt följande:

De gregorianska åren som motsvarar de andra 329 korta åren (varken börjar eller slutar med torsdag) kan också delas in enligt följande:

  • 70 är gregorianska skottår.
  • 259 är gregorianska vanliga år.

Alltså, inom en 400-årscykel:

  • 27 veckoår är 5 dagar längre än månadsåren (371 − 366).
  • 44 veckoår är 6 dagar längre än månadsåren (371 − 365).
  • 70 veckoår är 2 dagar kortare än månadsår (364 − 366).
  • 259 veckoår är 1 dag kortare än månaden år (364 − 365).

Veckor per månad

ISO-standarden definierar inte någon koppling mellan veckor och månader. Ett datum uttrycks antingen med en månad och en månad eller med en vecka och en veckodag, aldrig en blandning.

Veckor är en framträdande enhet inom redovisningen där årsstatistik drar nytta av regelbundenhet genom åren . Därför brukar man i praktiken välja en fast längd på 13 veckor per kvartal . Dessa kvartal kan sedan delas in i 5+4+4 veckor , 4+5+4 veckor eller 4+4+5 veckor . Det sista kvartalet har 14 veckor i sig när det är 53 veckor på året.

När det är nödvändigt att tilldela en vecka till en enskild månad, kan regeln för årets första vecka tillämpas, även om ISO 8601-1 inte tar hänsyn till detta fall explicit. Det resulterande mönstret skulle vara oregelbundet. Det skulle finnas 4 månader om 5 veckor per normalt 52-veckorsår eller 5 sådana månader under ett långt 53-veckorsår. De uppfyller ett av följande tre kriterier:

  • Den första dagen i månaden är en...
    • Torsdagen och månaden har 29 till 31 dagar.
    • Onsdag och månad har 30 eller 31 dagar.
    • Tisdag och månad har 31 dagar, som slutar på en torsdag.
  • På samma sätt är den sista dagen i månaden en ...
    • Torsdag och det är inte den 28:e.
    • Fredag ​​och det är inte i februari.
    • Lördag och det är den 31.

Datum med fast veckonummer

Översikt över datum med fast veckonummer
Månad dagar Veckor
januari 04 11 18 25 W01 – W04
februari 01 08 15 22 29 W05 – W09
Senare datum skiljer sig för alla skottår som börjar på torsdag :
Mars 01 08 15 22 29 W09 – W13
april 05 12 19 26 W14 – W17
Maj 03 10 17 24 31 W18 – W22
juni 07 14 21 28 W23 – W26
juli 05 12 19 26 W27 – W30
augusti 02 09 16 23 30 W31 – W35
september 06 13 20 27 W36 – W39
oktober 04 11 18 25 W40 – W43
november 01 08 15 22 29 W44 – W48
december 06 13 20 27 W49 – W52

För alla år har 8 dagar ett fast ISO-veckonummer (mellan W01 och W08) i januari och februari. Med undantag för skottår som börjar på torsdag förekommer datum med fasta veckonummer under årets alla månader (för 1 dag i varje ISO-vecka W01 till W52).

Under skottår som börjar på torsdag (dvs. de 13 åren numrerade 004, 032, 060, 088, 128, 156, 184, 224, 252, 280, 320, 348, 376 i en 400-årscykel) är ISO-veckotalen ökas med 1 från mars till resten av året. Detta inträffade senast 1976 och 2004, och kommer nästa gång att inträffa 2032. Dessa undantag sker mellan år som oftast skiljer sig 28 år, eller 40 års mellanrum för 3 par på varandra följande år: från år 088 till 128, från år 184 till 224 och från år 280 till 320.

Veckodagen för dessa dagar är relaterad till "Doomsday"-algoritmen , som beräknar den veckodag som den sista dagen i februari infaller på. Datumen som anges i tabellen är alla en dag efter domedagen, förutom att i januari och februari under skottår är själva datumen domedagar. Under skottår är veckonumret rangnumret för dess Doomsday .

Lika veckor

Vissa par och tripletter av ISO-veckor har samma dagar i månaden:

  • W02 och W41 i vanliga år
  • W03 med W42 i vanliga år och med W15 och W28 under skottår
  • W04 och W43 i vanliga år och med W16 och W29 under skottår
  • W05 och W44 i vanliga år
  • W06 med W10 och W45 i vanliga år och med W32 under skottår
  • W07 med W11 och W46 i vanliga år och med W33 under skottår
  • W08 med W12 och W47 i vanliga år och med W34 under skottår
  • W10 och W45
  • W11 och W46
  • W12 och W47
  • W15 och W28
  • W16 och W29
  • W37 och W50
  • W38 och W51

Vissa andra veckor, t.ex. W09, W19 till W26, W31 och W35 delar aldrig sina dagar i månaden med någon annan vecka under samma år.

Fördelar

  • Alla veckor har exakt 7 dagar, dvs det finns inga bråkveckor.
  • Varje vecka tillhör ett enskilt år, det vill säga det finns inga tvetydiga eller dubbelt tilldelade veckor.
  • Datumet visar direkt veckodagen.
  • Alla veckonummerår börjar med en måndag och slutar med en söndag.
  • När den används för sig själv utan att använda begreppet månad är alla veckonummerår desamma förutom att vissa år har vecka 53 i slutet.
  • Veckorna är desamma som används med den gregorianska kalendern.

Skillnader mot andra kalendrar

Astronomiska solfenomen, såsom dagjämningar och solstånd , varierar i den gregorianska kalendern över ett intervall som sträcker sig över tre dagar, under loppet av varje 400-årig cykel, medan ISO Week Date-kalendern har ett intervall som sträcker sig över 9 dagar. Till exempel finns det marsdagjämningar på 1920-W12-6 och 2077-W11-5 i UT.

ISO-veckans årtal skiljer sig mycket ofta från det gregorianska årstalet för datum nära 1 januari. Till exempel är den 29 december 1986 ISO 1987-W01-1, dvs den är år 1987 istället för 1986. En programmeringsbugg som förväxlar dessa två årssiffror är förmodligen orsaken till att vissa Android - användare av Twitter inte kan logga in runt midnatt av 29 december 2014 UTC .

ISO-veckokalendern förlitar sig på den gregorianska kalendern , som den utökar, för att definiera nyårsdagen (måndag vecka 01). Som ett resultat sprids extra veckor över 400-årscykeln i ett komplext, till synes slumpmässigt mönster. (Men en relativt enkel algoritm för att avgöra om ett år har 53 veckor från enbart dess ordningsnummer visas under "Veckor per år" ovan.) De flesta kalenderreformförslag som använder skottveckor strävar efter att förenkla och harmonisera detta mönster, vissa genom att välja en annan språngcykel (t.ex. 293 år).

Inte alla delar av världen anser att veckan börjar med måndag. Till exempel, i vissa muslimska länder börjar den normala arbetsveckan på lördagen, medan den i Israel börjar på söndagen. I stora delar av Amerika, även om arbetsveckan vanligtvis definieras att börja på måndag, anses kalenderveckan ofta börja på söndag.

Algoritmer

Beräknar veckonummer från ett ordinarie datum

Veckans nummer (WW eller woy för vecka av året ) för vilket datum som helst kan beräknas, givet dess ordinarie datum (dvs. dag på året, doy eller DDD, 1–365 eller 366) och dess veckodag (D eller dow , 1–7). När man använder serienummer för datum (t.ex. i kalkylblad) doy serienumret för ett datum minus serienumret för 31 december föregående år, alternativt minus serienumret för 1 januari samma år plus ett.

Algoritm
  1. Subtrahera veckodagsnumret från den ordinarie dagen på året.
  2. Lägg till 10.
  3. Dividera med 7, släng resten.
    • Om det sålunda erhållna veckotalet är lika med 0, betyder det att det angivna datumet tillhör föregående (veckobaserat) år.
    • Om ett veckonummer på 53 erhålls måste man kontrollera att datumet faktiskt inte är i vecka 1 påföljande år.
Formel

Beräknar veckonummer från en månad och dag i månaden

Om det ordinarie datumet inte är känt kan det beräknas från månaden (MM eller moy ) och dagen i månaden (DD eller dom ) med någon av flera metoder; t.ex. genom att använda en tabell som följande.

Offset för dagen i månaden för att få ordinarie dag på året
Månad Jan feb Mar apr Maj jun jul aug sep okt nov dec Lägg till
Vanligt år 0 31 59 90 120 151 181 212 243 273 304 334 dom
Skottår 60 91 121 152 182 213 244 274 305 335
Exempel
Hitta veckonummer för lördagen den 5 november 2016 (skottår):
  • Hitta ordinarie dagsnummer först:
 moy  = 11  dom  = 5  språng  = 1  add = 305   ,  från tabelluppslagsdoy  = 305 + 5 = 310. 
  • Alternativt kan du använda kalkylblad serienummer istället:
 off  = 42369, dvs 31 december 2015  dag  = 42679  doy  = 42679 − 42369 = 310. 
  • Slutligen, hitta veckonummer:
 dow  = 6, dvs lördag  woy =   (  10 + 310 − 6) div 7  woy  (320 − 6) div 7  woy  = 314 div 7 = 44. 

Beräknar ett ordinärt eller månadsdatum från ett veckodatum

Algoritm
  1. Multiplicera veckotalet med 7.
  2. Lägg sedan till veckodagsnumret.
  3. Från denna summa subtrahera korrigeringen för året:
    • Få veckodagen den 4 januari.
    • Lägg till 3.
  4. Resultatet är ordinarie datum, som kan omvandlas till ett kalenderdatum.
    • Om det sålunda erhållna ordinarie datumet är noll eller negativt, hör datumet till föregående kalenderår;
    • om det är större än antalet dagar på året, tillhör det följande år.
Formel

Andra veckonummersystem

Det amerikanska systemet har veckor från söndag till lördag och delveckor i början och slutet av året, dvs 52 hela och 1 delvecka på 1 eller 2 dagar om året börjar på söndag eller slutar på lördag, 52 hela och 2 dagar. endagsveckor om ett skottår börjar på lördag och slutar på söndag, annars 51 hela och 2 delveckor. En fördel är att ingen separat årsnummer som ISO-året behövs. Överensstämmelse mellan lexikografisk ordning och kronologisk ordning bevaras (precis som med ISO-numreringen av år-vecka-vardagar), men partiella veckor gör vissa beräkningar av veckostatistik eller betalningar felaktiga i slutet av december eller början av januari eller båda.

Den amerikanska sändningskalendern betecknar veckan som innehåller 1 januari (och börjar på måndag) som årets första, men fungerar annars som ISO-veckanumrering utan partiella veckor. Upp till sex dagar från föregående december kan vara en del av årets första vecka.

En blandning av dessa, där veckor börjar på söndag och "innehåller 1 januari" definierar den första veckan, används i USA:s bokföring, vilket resulterar i ett system med år som också har 52 eller 53 veckor.

externa länkar