Rekenmethode
Alle calculators en tabellen gebruiken dezelfde module (/assets/iso-week.mjs), in je browser en op de server. Ingevoerde data worden behandeld als kalenderdata en intern in UTC berekend, zodat de zomertijd geen dagen verschuift.
Van datum naar weeknummer
- Zoek de maandag van de week waarin de datum valt.
- Ga naar de donderdag van die week; het jaar daarvan is het ISO-jaar.
- Zoek de maandag van de week met 4 januari (het begin van week 1).
- Tel het aantal volle weken daartussen en tel er 1 bij op.
Van weeknummer naar datum
De maandag van week 1 is de maandag van de week met 4 januari. Elke volgende week begint zeven dagen later en de zondag valt zes dagen na de maandag. Een weeknummer na de laatste week van het jaar (de week met 28 december) wordt geweigerd.
Datum van vandaag en tijdzone
De pagina's worden bij elk bezoek op de server gemaakt met de datum in Nederlandse tijd (Europe/Amsterdam), zodat het antwoord ook zonder JavaScript klopt. In je browser bepaalt Intl.DateTimeFormat de datum in de tijdzone van je apparaat en wordt de weergave bijgewerkt. De gebruikte tijdzone staat er altijd bij.
Feestdagen
Pasen berekenen we met de gregoriaanse paasformule; Goede Vrijdag (−2 dagen), tweede paasdag (+1), Hemelvaartsdag (+39) en eerste en tweede pinksterdag (+49 en +50) volgen daaruit. Koningsdag is op 27 april, of op zaterdag 26 april als 27 april op een zondag valt. De data voor 2026 en 2027 hebben we vergeleken met het overzicht van de Rijksoverheid. De schoolvakanties nemen we over van de Rijksoverheid; die berekenen we niet.
Tests
Automatische tests controleren gewone data, 31 december en 1 januari, data in een aangrenzend ISO-jaar, week 53, schrikkeldagen, tijdzones rond middernacht, ongeldige weken en periodes over de jaarwisseling, en ook canonieke URL's, titels, koppen, interne links en de sitemap.
Bron
De regels volgen de ISO-beschrijving van ISO 8601 (in Nederland NEN-ISO 8601).