Druk een datumverschil uit in kalenderjaren, maanden en dagen door eerst de kalendermaanden en daarna de resterende dagen te tellen. In deze Numbers-uitleg gebruiken we synthetische publicatiedatums en een expliciete regel voor maandeinden, zodat je het resultaat kunt controleren.

Van 18 mei 2022 tot 24 september 2025 is het volgens de onderstaande methode bijvoorbeeld 3 jaar, 4 maanden en 6 dagen. Je maakt een herbruikbaar spreadsheet dat ook overweg kan met februari, schrikkeljaren en datums zoals 31 januari.

Bepaal wat een kalenderduur betekent

Voor een kalenderduur heb je een begindatum en een regel nodig voor het doorlopen van maanden. De verstreken dagen delen door 365 en vervolgens door 30 houdt geen rekening met kalendergrenzen: maanden en jaren hebben verschillende lengtes. De documentatie van de datum-API van TC39 maakt dit onderscheid expliciet en legt uit waarom datumverschillen standaard in dagen worden uitgedrukt, tenzij je een grotere eenheid opgeeft. Documentatie van Temporal.PlainDate.

In deze uitleg gebruiken we de volgende conventie voor moderne Gregoriaanse datums:

  1. Reken vooruit van de vroegste datum naar de latere datum.
  2. Zoek de grootste verschuiving van een geheel aantal maanden waarbij het kalenderanker niet voorbij de einddatum komt.
  3. Behoud het dagnummer van de begindatum als dat in de doelmaand voorkomt; gebruik anders de laatste dag van die maand.
  4. Druk elke 12 maanden uit als één jaar en tel vervolgens de dagen vanaf het anker tot de einddatum.

Volgens deze conventie is de periode van 31 januari tot 28 februari 2025 één maand. Van 31 januari tot 30 maart 2025 is het één maand en 30 dagen: het anker na twee maanden zou 31 maart zijn, en dat valt na de einddatum. Dit zijn gevolgen van de gekozen regel, geen universele definities van een maand.

Gebruik verstreken-dagenberekening in plaats van beide eindpunten als inbegrepen dagen te tellen. Gelijke datums leveren dus nul jaar, nul maanden en nul dagen op. Als je wilt tellen hoeveel gedateerde kalenderitems een periode bevat, gaat het om een andere berekening.

Houd civiele datums en tijdstempels gescheiden

Een publicatiedatum zoals 2025-09-24 is een civiele datum: een jaar, maand en dag in een kalender. De datum specificeert geen tijdstip en duidt geen moment aan. Een tijdstempel zoals 2025-09-24T00:30:00+02:00 bevat een tijd en een numerieke UTC-verschuiving, waardoor deze een moment kan aanduiden. RFC 3339 definieert de bijbehorende syntaxis voor volledige datums en datum-tijdcombinaties. RFC 3339: Datum en tijd op internet: tijdstempels.

Een verschuiving zoals +02:00 geeft de relatie met UTC aan. Een benoemde tijdzone zoals Europe/Paris bevat regels voor het omzetten van momenten naar lokale tijden en omgekeerd; de toepasselijke verschuiving kan veranderen. RFC 9557 maakt onderscheid tussen deze concepten en legt uit waarom een verschuiving op zichzelf niet de regels biedt die nodig zijn voor lokale kalenderberekeningen. RFC 9557: Datum en tijd op internet: tijdstempels met aanvullende informatie.

Voer voor dit spreadsheet de beoogde publicatiedatums rechtstreeks in. Bevat je bron tijdstempels, bepaal dan eerst welke benoemde tijdzone de publicatiedag definieert en zet beide tijdstempels om naar datums in die zone. Ter illustratie: 2025-09-24T00:30:00+02:00 is hetzelfde moment als 2025-09-23T22:30:00Z; als je de weergegeven datum kiest voordat je de referentietijdzone bepaalt, kan de invoer één dag verschillen.

Maak het werkblad voor datumverschillen in Numbers

Je hebt Numbers op je Mac nodig en een tabel met kolommen van A tot en met J en minstens twee rijen. Gebruik rij 1 voor labels en rij 2 voor de berekening. De onderstaande formules gebruiken Engelse functienamen en komma's als scheidingstekens.

Selecteer de cel waarin je de formule wilt plaatsen, typ of plak de formule die begint met = en druk op Return. Apple documenteert dat het typen van een gelijkteken de Formule-editor opent. In de Functiebrowser vind je hulp bij functies. Waarden berekenen met gegevens in tabelcellen in Numbers op de Mac.

Voer eenduidige begin- en einddatums in

Geef A1 het label Startdatum en B1 het label Einddatum. Voer de volgende synthetische publicatiedatums in:

Cel Formule Beoogde datum
A2 =DATE(2022,5,18) 18 mei 2022
B2 =DATE(2025,9,24) 24 september 2025

Met DATE(year,month,day) voorkom je onduidelijkheid tussen regionale interpretaties van datumreeksen. Apple raadt deze functie specifiek aan om datums consistent te interpreteren in verschillende regio-instellingen. Voer geldige kalenderdatums in, met inbegrip van het juiste aantal dagen in elke maand. DATE.

Controleer voordat je verdergaat of de einddatum gelijk is aan of na de begindatum ligt. Dit werkblad berekent bewust een voorwaarts verschil; het definieert geen negatieve kalenderperioden.

Zoek het laatste kalenderanker vóór de einddatum

Voer deze labels en formules in rij 2 in, in de aangegeven volgorde:

Cel Label in rij 1 Formule in rij 2
C2 Kandidaatmaanden =(YEAR(B2)-YEAR(A2))*12+MONTH(B2)-MONTH(A2)
D2 Volledige maanden =C2-IF(DATE(YEAR(B2),MONTH(B2),MIN(DAY(A2),DAY(EOMONTH(B2,0))))>B2,1,0)
E2 Begin van ankerm maand =EDATE(DATE(YEAR(A2),MONTH(A2),1),D2)
F2 Ankerdatum =DATE(YEAR(E2),MONTH(E2),MIN(DAY(A2),DAY(EOMONTH(E2,0))))

De eerste formule berekent het verschil tussen de jaar-maandposities. Met de functies YEAR en MONTH van Apple haal je deze onderdelen uit datumwaarden. YEAR, MONTH.

De tweede formule toetst een anker in de eindmaand. De dag is het kleinste van de begindag en de laatste dag van die maand. Als deze kandidaat na de einddatum valt, trekt de formule er één maand vanaf. Bij deze voorwaardelijke aanpassing wordt gebruikgemaakt van het gedocumenteerde gedrag van IF. IF.

Met de overige formules maak je het daadwerkelijke anker. EDATE verschuift de eerste dag van de beginmaand met de berekende verschuiving, zodat in deze tussenstap geen ongeldige dag ontstaat. EDATE.

Vervolgens past het werkblad de regel voor maandeinden expliciet toe: DAY haalt het dagnummer op, EOMONTH geeft de laatste datum van de doelmaand en MIN kiest het kleinste dagnummer. Zo is in de formule duidelijk zichtbaar hoe korte maanden worden behandeld. DAY, EOMONTH, MIN.

Druk het resultaat uit in jaren, maanden en dagen

Maak het werkblad af met deze formules:

Cel Label in rij 1 Formule in rij 2
G2 Jaren =QUOTIENT(D2,12)
H2 Maanden =MOD(D2,12)
I2 Dagen =DATEDIF(F2,B2,"D")
J2 Kalenderverschil =G2&" years, "&H2&" months, "&I2&" days"

QUOTIENT levert het resultaat van de gehele deling op en MOD de rest. Zo wordt het totale aantal maanden omgezet in jaren en resterende maanden. QUOTIENT, MOD.

Voor de voorbeelddatums moet D2 40 zijn en moet F2 18 september 2025 opleveren. De zes dagen tussen dat anker en 24 september maken het resultaat compleet: 3 jaar, 4 maanden en 6 dagen. De tekstformule gebruikt voor de eenvoud vaste meervoudsvormen; de afzonderlijke numerieke kolommen blijven beschikbaar voor andere berekeningen.

Controleer maandeinden en schrikkeljaren

Gebruik deze synthetische datumparen om de conventie van het werkblad te controleren. Vervang alleen de formules in A2 en B2 en laat de overige formules staan:

Begindatum Einddatum Verwacht aantal jaren, maanden, dagen Ankerdatum
18 mei 2022 24 september 2025 3, 4, 6 18 september 2025
31 januari 2025 28 februari 2025 0, 1, 0 28 februari 2025
31 januari 2024 29 februari 2024 0, 1, 0 29 februari 2024
29 februari 2024 28 februari 2025 1, 0, 0 28 februari 2025
31 januari 2025 30 maart 2025 0, 1, 30 28 februari 2025
24 september 2025 24 september 2025 0, 0, 0 24 september 2025

Dit zijn berekende voorbeelden volgens de opgegeven regel. Het onderliggende ankeralgoritme is gecontroleerd met een deterministische Python-berekening, waaronder 10.000 gegenereerde datumparen; de Numbers-interface zelf is niet uitgevoerd.

Controleer het resultaat door het traject te reconstrueren: neem de oorspronkelijke begindatum, verschuif die met het totale aantal maanden in D2 volgens de opgegeven regel voor maandeinden en tel vervolgens het aantal dagen in I2 erbij op. Je hoort dan op de einddatum uit te komen. Bereken het maandanker altijd vanaf de oorspronkelijke begindatum: als je herhaaldelijk één maand opschuift, kun je na februari de oorspronkelijke dag verliezen.

Waarom niet drie DATEDIF-resultaten combineren?

Apple documenteert opties voor DATEDIF die het aantal jaren, maanden zonder jaren en dagen zonder maanden en jaren berekenen. De optie "MD" past een specifieke berekening op basis van dagnummers toe met vervangen maanden. Je kunt er daarom niet van uitgaan dat deze optie de dagen aangeeft die overblijven na de gekozen aanpassing voor het maandeinde. Dit werkblad gebruikt "D" alleen tussen het expliciete anker en de einddatum. DATEDIF.

Hoe de bewerking overeenkomt met een datum-API

Voor software die deze taak uitvoert, documenteert TC39 het datumtype Temporal.PlainDate en een kalenderbewuste bewerking voor datumverschillen. Als je until aanvraagt met largestUnit: 'year', krijg je een duur uitgedrukt in jaren en kleinere eenheden; laat je de standaardopties staan, dan wordt het verschil in dagen uitgedrukt. De documentatie beschrijft ook het begrenzen van datums bij het optellen van maanden en geeft aan dat verschillen tussen datums met verschillende kalendersystemen worden geweigerd, tenzij ze naar een gemeenschappelijke kalender zijn omgezet. Documentatie van Temporal.PlainDate.

Deze API-keuzes onderstrepen de belangrijkste beslissingen voor het werkblad: identificeer invoer als alleen datums, kies de kalender, geef de grootste eenheid op en behoud een anker om maanden te interpreteren. Datumstandaarden beschrijven notaties; een notatie kiezen bepaalt op zichzelf niet welke conventie voor het maandeinde je taak gebruikt.

Los onverwachte resultaten op voordat je de uitvoer gebruikt

Als een formule een fout geeft, selecteer je de foutindicator om de melding te lezen; deze diagnostische stap staat beschreven in de Numbers-handleiding van Apple. Controleer de celverwijzingen en gebruik de Functiebrowser om argumenten in te voegen als jouw installatie andere scheidingstekens voor formules verwacht. Waarden berekenen met gegevens in tabelcellen in Numbers op de Mac.

Als de berekening aannemelijk lijkt maar afwijkt van een ander hulpmiddel, vergelijk dan de regel voor maandeinden met die van dit werkblad. Controleer ook of het andere hulpmiddel beide eindpunten meetelt, tijdstempels gebruikt in plaats van civiele datums of het resultaat afrondt. Gebruik omgekeerde datums en lege invoervelden niet in deze voorwaartse berekening en vervang fouten niet door nul.

Als je publicatiedatums herbruikbaar wilt vergelijken, bewaar dan de begin- en einddatum en het anker naast de uiteindelijke formulering. Samen maken ze een resultaat zoals ‘3 jaar, 4 maanden en 6 dagen’ herleidbaar tot een specifieke kalenderberekening.

Bronnen