[go: up one dir, main page]
More Web Proxy on the site http://driver.im/Naar inhoud springen

Weeknummer

Uit Wikipedia, de vrije encyclopedie
(Doorverwezen vanaf Weekjaar)

Het weeknummer is het volgnummer dat een week in een kalenderjaar krijgt. Volgens de internationale standaard ISO 8601 is de eerste week van een jaar de week die vier of meer dagen van dat kalenderjaar bevat. Omdat maandag als eerste dag van de week wordt beschouwd, komt het erop neer dat week 1 de week is, waarin de eerste donderdag van dat jaar zit en de week waar 4 januari in valt. 1 februari valt altijd in week 5. Ter illustratie: met deze methode valt dinsdag 3 december 2024 in week 49.

In sommige landen wordt een andere methode gebruikt, waardoor het weeknummer per land kan afwijken. In bijvoorbeeld de Verenigde Staten en Japan begint de week op zondag en is de week waarin 1 januari valt de eerste week van het jaar.

Afwijkend jaartal

[bewerken | brontekst bewerken]

Het systeem van weeknummers volgens ISO 8601 leidt ertoe dat sommige dagen van een jaar gerekend worden tot een week van het voorgaande of het volgende jaar. Zo kunnen 29, 30 en 31 december van een jaar vallen in week 1 van het erop volgende jaar, en kunnen 1, 2 en 3 januari van een jaar vallen in week 52 of week 53 van het eraan voorafgaande jaar.

Als bijvoorbeeld in een jaar 4 januari een maandag is, is dit het begin van week 1 van dat jaar. De voorafgaande dagen, 1, 2 en 3 januari, worden gerekend tot de laatste week van het voorgaande jaar.

Het systeem van weeknummers correspondeert met een indeling van dagen in zogenaamde weekjaren in plaats van kalenderjaren. Een weekjaar bestaat uit 52 of 53 gehele weken van maandag tot en met zondag. Het weekjaar 2020 begint met de eerste dag van week 1 volgens de weeknummering van 2020, dit is maandag 30 december 2019. De dag ervoor, zondag 29 december 2019, is de laatste dag van weekjaar 2019. Een van de ISO 8601 notaties voor dagen bestaat uit het weekjaar, het weeknummer en het weekdagnummer. De twee genoemde dagen worden daarin respectievelijk aangeduid als 2020-W01-1 en 2019-W52-7. Rond een jaarwisseling zijn er maximaal drie dagen waarvan het weekjaartal afwijkt van het kalenderjaartal.

De combinatie kalenderjaar, weeknummer en weekdag(nummer) is niet altijd eenduidig. In het kalenderjaar 2019 is bijvoorbeeld zowel de eerste als de laatste dag een dinsdag in een week met weeknummer 1.

Voorbeelden:

Weekdag Gewone datum Weekdatum
zondag 30-12-2018 2018-W52-7
maandag 31-12-2018 2019-W01-1
dinsdag 01-01-2019 2019-W01-2
woensdag 02-01-2019 2019-W01-3
donderdag 03-01-2019 2019-W01-4
vrijdag 04-01-2019 2019-W01-5
Weekdag Gewone datum Weekdatum
zondag 29-12-2019 2019-W52-7
maandag 30-12-2019 2020-W01-1
dinsdag 31-12-2019 2020-W01-2
woensdag 01-01-2020 2020-W01-3
donderdag 02-01-2020 2020-W01-4
vrijdag 03-01-2020 2020-W01-5
zaterdag 04-01-2020 2020-W01-6
Weekdag Gewone datum Weekdatum
donderdag 31-12-2020 2020-W53-4
vrijdag 01-01-2021 2020-W53-5
zaterdag 02-01-2021 2020-W53-6
zondag 03-01-2021 2020-W53-7
maandag 04-01-2021 2021-W01-1
dinsdag 05-01-2021 2021-W01-2
woensdag 06-01-2021 2021-W01-3
donderdag 07-01-2021 2021-W01-4

Uit de maand, het kalenderjaartal en het weeknummer kan zonder echt te hoeven rekenen het weekjaartal worden afgeleid: voor dagen in januari duidt een hoog weeknummer op een weekjaartal dat een lager is dan het kalenderjaartal, en voor dagen in december duidt een laag weeknummer op een weekjaartal dat een hoger is dan het kalenderjaartal.

Naar analogie van kalenderjaren met een schrikkeldag zijn er weekjaren met een "schrikkelweek" (een extra week). Gezien de gemiddelde lengte van een weekjaar (hetzelfde als van een kalenderjaar) zijn er 71 schrikkelweken op elke 400 jaar. De jaren met een schrikkelweek zijn die waarvoor gelijk is aan 4, en de jaren direct na die waarvoor dit gelijk is aan 3.[1]

In termen van doomsdays: de weekjaren met een schrikkelweek zijn die met doomsday zaterdag en die direct na die met doomsday vrijdag. De kalenderjaren met doomsday zaterdag eindigen namelijk met een donderdag en die direct na een jaar met doomsday vrijdag beginnen met een donderdag.[2]

Bij maximale gelijkmatigheid zou het aantal jaren tussen twee schrikkelweken per cyclus van 400 jaar 45 maal 6 en 26 maal 5 bedragen. In werkelijkheid is het 1 maal 7, 43 maal 6 en 27 maal 5. De achtergrond van deze verdeling ligt in de afhankelijkheid van schrikkeldagen bij kalenderjaren. De ene maal 7 is van 1896 tot 1903 en zo elke 400 jaar.

De tabel geeft aan op welke dag week 1 begint.

1 januari
valt op:
week 1
begint dan op
maandag
aantal genummerde
weken in dat jaar:
maandag   1 januari 52
dinsdag 31 december 52
woensdag 30 december 52 (53 in schrikkeljaar)
donderdag  29 december 53
vrijdag   4 januari 52
zaterdag   3 januari 52
zondag   2 januari 52

De onderstaande tabel geeft voor elk van de begindagen van een jaar en elk weeknummer volgens NEN 2772 de datum van de eerste dag (maandag) van die week. De dagen in een schrikkeljaar zijn vanaf 29 februari vetgedrukt.

Sommige dagen vallen altijd in een week met hetzelfde weeknummer. Het bekendste voorbeeld is 4 januari, dat altijd in week 1 valt, of 1 februari, dat altijd in week 5 valt. Dat herhaalt zich elke week, dus ook 4, 11, 18 en 25 januari en 1, 8, 15, 22 en ook 29 februari vallen altijd in een week met hetzelfde weeknummer. Na februari is dat niet meer zo.

1 januari
valt op:
maandag dinsdag woensdag donderdag vrijdag zaterdag zondag
weeknr. begint op maandag …
gewoon
jaar
schrikkel-
jaar
gewoon
jaar
schrikkel-
jaar
gewoon
jaar
schrikkel-
jaar
gewoon
jaar
schrikkel-
jaar
gewoon
jaar
schrikkel-
jaar
gewoon
jaar
schrikkel-
jaar
gewoon
jaar
schrikkel-
jaar
1 1 jan 31 dec 30 dec 29 dec 4 jan 3 jan 2 jan
  2   8 jan   7 jan   6 jan   5 jan 11 jan 10 jan   9 jan
  3 15 jan 14 jan 13 jan 12 jan 18 jan 17 jan 16 jan
  4 22 jan 21 jan 20 jan 19 jan 25 jan 24 jan 23 jan
  5 29 jan 28 jan 27 jan 26 jan   1 feb 31 jan 30 jan
  6   5 feb   4 feb   3 feb   2 feb   8 feb   7 feb   6 feb
  7 12 feb 11 feb 10 feb   9 feb 15 feb 14 feb 13 feb
  8 19 feb 18 feb 17 feb 16 feb 22 feb 21 feb 20 feb
  9 26 feb 25 feb 24 feb 23 feb   1 mrt 29 feb 28 feb 27 feb
10   5 mrt   4 mrt   4 mrt   3 mrt   3 mrt   2 mrt   2 mrt   1 mrt   8 mrt   7 mrt   7 mrt   6 mrt   6 mrt   5 mrt
11 12 mrt 11 mrt 11 mrt 10 mrt 10 mrt   9 mrt   9 mrt   8 mrt 15 mrt 14 mrt 14 mrt 13 mrt 13 mrt 12 mrt
12 19 mrt 18 mrt 18 mrt 17 mrt 17 mrt 16 mrt 16 mrt 15 mrt 22 mrt 21 mrt 21 mrt 20 mrt 20 mrt 19 mrt
13 26 mrt 25 mrt 25 mrt 24 mrt 24 mrt 23 mrt 23 mrt 22 mrt 29 mrt 28 mrt 28 mrt 27 mrt 27 mrt 26 mrt
14   2 apr   1 apr   1 apr 31 mrt 31 mrt 30 mrt 30 mrt 29 mrt   5 apr   4 apr   4 apr   3 apr   3 apr   2 apr
15   9 apr   8 apr   8 apr   7 apr   7 apr   6 apr   6 apr   5 apr 12 apr 11 apr 11 apr 10 apr 10 apr   9 apr
16 16 apr 15 apr 15 apr 14 apr 14 apr 13 apr 13 apr 12 apr 19 apr 18 apr 18 apr 17 apr 17 apr 16 apr
17 23 apr 22 apr 22 apr 21 apr 21 apr 20 apr 20 apr 19 apr 26 apr 25 apr 25 apr 24 apr 24 apr 23 apr
18 30 apr 29 apr 29 apr 28 apr 28 apr 27 apr 27 apr 26 apr   3 mei   2 mei   2 mei   1 mei   1 mei 30 apr
19   7 mei   6 mei   6 mei   5 mei   5 mei   4 mei   4 mei   3 mei 10 mei   9 mei   9 mei   8 mei   8 mei   7 mei
20 14 mei 13 mei 13 mei 12 mei 12 mei 11 mei 11 mei 10 mei 17 mei 16 mei 16 mei 15 mei 15 mei 14 mei
21 21 mei 20 mei 20 mei 19 mei 19 mei 18 mei 18 mei 17 mei 24 mei 23 mei 23 mei 22 mei 22 mei 21 mei
22 28 mei 27 mei 27 mei 26 mei 26 mei 25 mei 25 mei 24 mei 31 mei 30 mei 30 mei 29 mei 29 mei 28 mei
23   4 jun   3 jun   3 jun   2 jun   2 jun   1 jun   1 jun 31 mei   7 jun   6 jun   6 jun   5 jun   5 jun   4 jun
24 11 jun 10 jun 10 jun   9 jun   9 jun   8 jun   8 jun   7 jun 14 jun 13 jun 13 jun 12 jun 12 jun 11 jun
25 18 jun 17 jun 17 jun 16 jun 16 jun 15 jun 15 jun 14 jun 21 jun 20 jun 20 jun 19 jun 19 jun 18 jun
26 25 jun 24 jun 24 jun 23 jun 23 jun 22 jun 22 jun 21 jun 28 jun 27 jun 27 jun 26 jun 26 jun 25 jun
27   2 jul   1 jul   1 jul 30 jun 30 jun 29 jun 29 jun 28 jun   5 jul   4 jul   4 jul   3 jul   3 jul   2 jul
28   9 jul   8 jul   8 jul   7 jul   7 jul   6 jul   6 jul   5 jul 12 jul 11 jul 11 jul 10 jul 10 jul   9 jul
29 16 jul 15 jul 15 jul 14 jul 14 jul 13 jul 13 jul 12 jul 19 jul 18 jul 18 jul 17 jul 17 jul 16 jul
30 23 jul 22 jul 22 jul 21 jul 21 jul 20 jul 20 jul 19 jul 26 jul 25 jul 25 jul 24 jul 24 jul 23 jul
31 30 jul 29 jul 29 jul 28 jul 28 jul 27 jul 27 jul 26 jul   2 aug   1 aug   1 aug 31 jul 31 jul 30 jul
32   6 aug   5 aug   5 aug   4 aug   4 aug   3 aug   3 aug 2 aug   9 aug   8 aug   8 aug   7 aug   7 aug   6 aug
33 13 aug 12 aug 12 aug 11 aug 11 aug 10 aug 10 aug   9 aug 16 aug 15 aug 15 aug 14 aug 14 aug 13 aug
34 20 aug 19 aug 19 aug 18 aug 18 aug 17 aug 17 aug 16 aug 23 aug 22 aug 22 aug 21 aug 21 aug 20 aug
35 27 aug 26 aug 26 aug 25 aug 25 aug 24 aug 24 aug 23 aug 30 aug 29 aug 29 aug 28 aug 28 aug 27 aug
36   3 sep   2 sep   2 sep   1 sep   1 sep 31 aug 31 aug 30 aug   6 sep   5 sep   5 sep   4 sep   4 sep   3 sep
37 10 sep   9 sep   9 sep   8 sep   8 sep   7 sep   7 sep   6 sep 13 sep 12 sep 12 sep 11 sep 11 sep 10 sep
38 17 sep 16 sep 16 sep 15 sep 15 sep 14 sep 14 sep 13 sep 20 sep 19 sep 19 sep 18 sep 18 sep 17 sep
39 24 sep 23 sep 23 sep 22 sep 22 sep 21 sep 21 sep 20 sep 27 sep 26 sep 26 sep 25 sep 25 sep 24 sep
40   1 okt 30 sep 30 sep 29 sep 29 sep 28 sep 28 sep 27 sep   4 okt   3 okt   3 okt   2 okt   2 okt   1 okt
41   8 okt   7 okt   7 okt   6 okt   6 okt   5 okt   5 okt   4 okt 11 okt 10 okt 10 okt   9 okt   9 okt   8 okt
42 15 okt 14 okt 14 okt 13 okt 13 okt 12 okt 12 okt 11 okt 18 okt 17 okt 17 okt 16 okt 16 okt 15 okt
43 22 okt 21 okt 21 okt 20 okt 20 okt 19 okt 19 okt 18 okt 25 okt 24 okt 24 okt 23 okt 23 okt 22 okt
44 29 okt 28 okt 28 okt 27 okt 27 okt 26 okt 26 okt 25 okt   1 nov 31 okt 31 okt 30 okt 30 okt 29 okt
45   5 nov   4 nov   4 nov   3 nov   3 nov   2 nov   2 nov   1 nov   8 nov   7 nov   7 nov   6 nov   6 nov   5 nov
46 12 nov 11 nov 11 nov 10 nov 10 nov   9 nov   9 nov   8 nov 15 nov 14 nov 14 nov 13 nov 13 nov 12 nov
47 19 nov 18 nov 18 nov 17 nov 17 nov 16 nov 16 nov 15 nov 22 nov 21 nov 21 nov 20 nov 20 nov 19 nov
48 26 nov 25 nov 25 nov 24 nov 24 nov 23 nov 23 nov 22 nov 29 nov 28 nov 28 nov 27 nov 27 nov 26 nov
49   3 dec   2 dec   2 dec   1 dec   1 dec 30 nov 30 nov 29 nov   6 dec   5 dec   5 dec   4 dec   4 dec   3 dec
50 10 dec   9 dec   9 dec   8 dec   8 dec   7 dec   7 dec   6 dec 13 dec 12 dec 12 dec 11 dec 11 dec 10 dec
51 17 dec 16 dec 16 dec 15 dec 15 dec 14 dec 14 dec 13 dec 20 dec 19 dec 19 dec 18 dec 18 dec 17 dec
52 24 dec 23 dec 23 dec 22 dec 22 dec 21 dec 21 dec 20 dec 27 dec 26 dec 26 dec 25 dec 25 dec 24 dec
53 28 dec 28 dec 27 dec

Weeknummer 53

[bewerken | brontekst bewerken]

Omdat een gewoon jaar één dag meer heeft dan 52 weken en een schrikkeljaar twee dagen meer, zijn er ook jaren met als laatste weeknummer 53. Dat zijn alle jaren, dus ook schrikkeljaren, die beginnen met een donderdag en tevens schrikkeljaren die beginnen met een woensdag.

Willekeurige datum

[bewerken | brontekst bewerken]

Het weeknummer van een bepaalde datum is ook door middel van formules uit te rekenen, hieronder staat daarvoor het formulestappenplan.

Als voorbeelddatum is 11 aug. 1999 gekozen, maar dit formulestappenplan werkt voor iedere willekeurige datum vanaf 1 januari 1584.

(de afkorting UK gevolgd door een nummer geeft de uitkomst van een formule)

  • bepaal in het voorbeeldjaar het aantal dagen vanaf 4 januari tot aan de voorbeelddatum [UK01 = 219]
  • deel UK01 door 7 en rond het resultaat naar beneden af [UK02 = 31]
  • bepaal het weekdagnummer van de voorbeelddatum, ma = 1, di = 2 ... zo = 7 [UK03 = 3]
  • bepaal het weekdagnummer van 4 januari van het jaar voor het voorbeeldjaar [UK04 = 7]
  • bepaal in het jaar voor het voorbeeldjaar het aantal dagen vanaf 4 januari tot aan 31 december [UK05 = 361]
  • deel UK05 door 7 en rond het resultaat naar beneden af [UK06 = 51]
  • bepaal in het jaar voor het voorbeeldjaar het weekdagnummer van 31 december [UK07 = 4]
  • bepaal het weekdagnummer van 4 januari van het voorbeeldjaar [UK08 = 1]
  • bepaal het weekdagnummer van 4 januari van het jaar na het voorbeeldjaar [UK09 = 2]
  • bepaal het weeknummer van 31 dec. van het jaar voor het voorbeeldjaar [UK10 = 53]
ALS UK07 < UK08
DAN UK10 = 1
ANDERS ALS UK07 < UK04
DAN UK10 = UK06 + 2
ANDERS UK10 = UK06 + 1
  • bepaal het weeknummer van de voorbeelddatum [UK11 = 32]
ALS voorbeelddatum is in reeks 1 jan t/m 3 jan
DAN ALS UK03 < UK08
DAN UK11 = 1
ANDERS UK11 = UK10
ANDERS ALS EN voorbeelddatum is in reeks 29 dec. t/m 31 dec. EN UK03 < UK09
DAN UK11 = 1
ANDERS ALS UK03 < UK08
DAN UK11 = UK02 + 2
ANDERS UK11 = UK02 + 1

We gaan uit van twee gegevens:

  1. Het jaar waarin een week valt is het jaar waarin de donderdag van die week valt.
  2. De eerste donderdag van het jaar valt altijd in week 1, de tweede donderdag in week 2 enz.

De stappen zijn dan:

  1. Bepaal de donderdag in de week van de voorbeelddatum. Is de voorbeelddatum een maandag, dan is de donderdag dus drie dagen verder. Is de voorbeelddatum een vrijdag dan is de donderdag een dag terug. Dit geeft de "weekdonderdag".
  2. Bepaal het jaar waarin de weekdonderdag valt. Dit kan in sommige gevallen het jaar voor of na de voorbeelddatum zijn. Dit geeft het "weekjaar".
  3. Het weeknummer is nu gelijk aan het aantal donderdagen in het weekjaar tot en met de weekdonderdag. Omdat een op de zeven dagen een donderdag is en we tellen vanaf 1, bereken je het weeknummer door het verschil in dagen te berekenen tussen de weekdonderdag en 1 januari in het weekjaar, dit te delen door 7, naar beneden af te ronden en er 1 bij te tellen.

In formules is dat:

  1. weekdonderdag = voorbeelddatum + 4 – weekdagnummer (voorbeelddatum)
  2. weekjaar = jaar (weekdonderdag)
  3. weeknummer = geheel ((weekdonderdag – datum (weekjaar; jan; 1)) /7) + 1

We gaan wederom uit van twee gegevens:

  1. Het jaar waarin een week valt is het jaar waarin de donderdag van die week valt.
  2. 4 januari valt altijd in week 1.

De stappen zijn dan:

  1. Bepaal de donderdag in de week van de voorbeelddatum. Het jaar waarin deze donderdag valt is het "weekjaar".
  2. Bepaal de maandag van week 1 van het weekjaar. Als 4 januari van het weekjaar een maandag is ben je meteen klaar. Anders moet je het benodigde aantal dagen terug tellen. Dit aantal is het weekdagnummer van 4 januari minus 1. Merk op dat de gezochte maandag in het jaar voor het weekjaar kan liggen!
  3. Bepaal het verschil in dagen tussen de voorbeelddatum en de maandag uit stap 2. Deel vervolgens door 7, rond af naar beneden en tel er 1 bij op.

In formules is dat:

  1. weekjaar = jaar (voorbeelddatum + 4 - weekdagnummer (voorbeelddatum))
  2. weeknummer = geheel ((voorbeelddatum - datum(weekjaar; jan; 4) + weekdagnummer (datum(weekjaar; jan; 4)) - 1) / 7) + 1

Er zijn 15 verschillende kalenders van een kalenderjaar, met daarop de weeknummers. Links met tussen haakjes de zondagsletter:


Op kalenders waarop (anders dan op de hier gelinkte kalenders) de zondag als eerste dag van de week wordt aangegeven, en waarop weeknummers staan, is het aangegeven weeknummer van de zondag één hoger dan het officiële.

Internationale handel

[bewerken | brontekst bewerken]

In Excel met Nederlandse taalinstellingen, zijn er twee functies die erg op elkaar lijken:

=WEEKNUMMER(A1)

=ISO.WEEKNUMMER(A1)

In de tabel in het plaatje worden de verschillen tussen de Europese en Amerikaanse manier van weeknummers duidelijk.

Difference between weeknumber systems in Europe and America

Volgens de ISO norm is een week altijd 7 dagen, en kunnen de eerste/laatste dagen in een ander ISO-jaar vallen. Volgens de Amerikaanse manier vallen de eerste/laatste dagen in een gebroken week, die niet altijd 7 dagen is en soms zelfs weeknummer 54 heeft. Volgens de ISO norm begint een nieuwe week op maandag, volgens de Amerikaanse manier op zondag.

Er zijn jaren waarbij de weeknummers gelijk lopen, maar ook jaren waarbij dat altijd uit de pas loopt. Is dit niet goed afgestemd met de internationale handels partner, dan kan dat grote invloed hebben op een planning.

Alle informatie op deze pagina kan complex overkomen. In een voorbeeldcode van een Arduino klok met ISO-weeknummer op GitHub is te zien dat dit in een paar coderegels is te programmeren.[3]