A betöltött életkorhoz az évszámok különbségét a születésnap alapján kell korrigálni. Ha az adott évi születésnap még hátravan, eggyel kevesebb a betöltött évek száma. A részletes év–hónap–nap bontás naptári számítás: a hónapok hossza eltér, és a szökőnapokat is figyelembe kell venni.
Melyik napra szeretnél életkort számolni?
Az életkor-kalkulátorhoz a születési dátum és a vizsgálati dátum szükséges. A második lehet a mai nap, egy esemény napja vagy egy korábbi feljegyzés időpontja. Ha két számítást összehasonlítasz, mindkettőnél ugyanazt a vizsgálati napot használd. A „mai életkor” egy később megnyitott dokumentumban már más értéket jelenthet.
A születési dátumot naptári év–hónap–nap adatként őrizd meg. Ha egy importáló rendszer ehhez önkényesen UTC-éjfélt rendel, majd egy másik időzónára váltja, a megjelenő naptári nap akár az előző napra is kerülhet. Ez megváltoztatná az életkor-számítás bemenetét. A puszta születési dátumot ezért ne alakítsd időponttá csak azért, hogy a szoftver dátummezőjébe beférjen; előbb tisztázd a mező jelentését.
Szemléltetésként válasszunk egy 1994. november 17-i születési dátumot, és számoljunk 2026. október 9-re. Az évszámok különbsége 2026 − 1994 = 32, de a novemberi születésnap még nem érkezett el. A betöltött életkor ezért 31 év.
Az év, hónap és nap bontás lépései
A 31. születésnap 2025. november 17. volt. Innen tíz teljes naptári hónap 2026. szeptember 17-ig tart. Szeptember 17-től október 9-ig további 22 nap telik el. A részletes eredmény így 31 év, 10 hónap, 22 nap.
A teljes eltelt idő a két dátum között 11 649 nap. Ez másfajta leírása ugyanannak az időszaknak. A 11 649-et 365-tel osztva nem kapsz pontos naptári életkort, mert közben szökőévek is voltak. A 365,25-ös osztás is átlagolás; egy születésnap körüli döntésnél a konkrét dátumok számítanak.
Egy nappal a következő születésnap előtt még 31 a betöltött évek száma. 2026. november 17-én válik 32-vé. A teljes napkülönbség viszont minden naptári nappal eggyel nő. Ezért fontos megkülönböztetni a lépcsőzetesen változó betöltött életkort a folyamatosan növekvő eltelt időtől.
Hónapvégek és február 29.
Január 31-től egy hónapot hozzáadni külön szabályt igényel, mert februárban nincs 31. nap. Egy dátumkezelő alkalmazás az adott hónap utolsó napjához igazíthat, egy másik más módon kezelheti a túlcsordulást. A február 29-i születésnap szintén külön figyelmet igényel a nem szökőévekben.
Ezeknél a határeseteknél írd le a használt naptári egyezményt, és ellenőrizd a köztes dátumot. Jogosultság, korhatár vagy határidő esetén az alkalmazandó szabály külön vizsgálatot igényel; az általános életkor-kalkulátor naptári eredményt ad. Egy ilyen ügyet ne egy kerekített „évek száma” értékkel dönts el.
Két egymás utáni hónaplépés más napra is érkezhet
Válasszunk egy kifejezett számítási egyezményt: hónap hozzáadásakor a nap sorszámát megtartjuk, és ha a célhónapban ilyen nap nincs, annak utolsó napját használjuk. Ez a következő saját példa szabálya; az életkor-meghatározás jogi értelmezését nem rögzíti.
2026. január 31. + 1 hónap = február 28. Innen egy újabb hónaplépés már a 28-as napot tartja meg: március 28. Ha viszont a január 31-i eredeti dátumhoz egyetlen lépésben adsz két hónapot, március 31. adódik. A két út között három nap a különbség.
Ezért egy év–hónap–nap bontásnál őrizd meg a kiinduló dátumot és a műveletek rendjét is. A visszaellenőrzésnek ugyanazzal a hónapvégi szabállyal kell az eredeti záródátumhoz vezetnie. Egy ismétlődő hónapvégi eseménynél külön azt is megadhatod, hogy minden alkalommal a hónap utolsó napját keresed; ez más szabály, mint a legutóbbi eredményből újra egy hónapot lépni. A Microsoft dátumkülönbség-leírása által jelzett résznapos korlátok mellett ez a saját köztesdátum-ellenőrzés különösen hasznos.
Két ember életkorkülönbsége
Ha két születési dátumot hasonlítasz össze, a két életkor különbségét számoló eszköz használható. A születési dátumok közötti napkülönbség rögzített. A két ember betöltött életkorának egész évben megadott különbsége viszont születésnapjaik között ideiglenesen változhat.
Vegyünk két szemléltető születési dátumot: 2000. január 10. és 2000. december 20. Közöttük 345 nap van. Ezt a születési dátumokból egyszer kell kiszámolni; a mai dátum módosítása nem változtatja meg.
| Vizsgálati nap | Január 10-én született | December 20-án született | Betöltött évek különbsége |
|---|---|---|---|
| 2026. január 9. | 25 év | 25 év | 0 év |
| 2026. január 10. | 26 év | 25 év | 1 év |
| 2026. december 20. | 26 év | 26 év | 0 év |
A 0–1–0 sorozat a betöltött egész években megadott életkorok különbsége. Egy adatbázisban ezért a „korkülönbség: 0 év” mező nem igazolja, hogy a két születési dátum azonos. Ha pontos időbeli távolságot keresel, a két dátumot add meg a kalkulátornak, és a napkülönbséget is őrizd meg. Ha korcsoportonként készítesz összesítést, minden résztvevő életkorát azonos, rögzített vizsgálati napra számold.
Ha csak a születési évet ismered
Az „1994-ben született” adatból 2026. október 9-re két lehetséges betöltött életkor következik: 31 vagy 32 év. Az október 9-ig születésnapjukat már betöltők 32, a későbbi születésnapúak 31 évesek. Az évszám önmagában nem elég egyetlen pontos értékhez.
Ha annyit tudsz, hogy a születési hónap november, ezen a vizsgálati napon a 31 betöltött év már biztosan megállapítható, de az év–hónap–nap bontás továbbra sem teljes. Hiányzó dátum helyére ne írj be automatikusan január 1-jét: azzal új, nem ismert adatot hoznál létre. Rögzítsd az ismert évszámot és a lehetséges tartományt, majd a pontos születési dátummal fejezd be a számítást, ha a feladat azt igényli.
Forrás és ellenőrzés
A példák saját naptári levezetések. A teljes évek, hónapok és napok elkülönítéséhez: Microsoft – két dátum különbségének számítása. A Microsoft a DATEDIF egyes résznapos módjainál ismert pontatlanságot is jelez, ezért a hónapvégi eredményeket külön ellenőrizni kell.
Záró tudáspróba
Kérdésenként egy választ jelölj meg, majd a megoldások alapján pontozd magad. Ez a három kérdés a cikkben bemutatott összefüggéseket ellenőrzi.
1. 1994. november 17-i születésnél mennyi a betöltött életkor 2026. október 9-én?
- A) 32 év.
- B) A teljes napkülönbség osztva 365-tel, egészre kerekítve.
- C) 31 év.
2. A célhónap utolsó napjára igazító szabállyal január 31-ből két egymást követő egyhónapos lépést teszel 2026-ban. Mi lesz a vége?
- A) Március 28.; az egyetlen kéthónapos lépés március 31-et adna.
- B) Április 3.
- C) Március 31. minden műveleti sorrendben.
3. Csak annyit tudsz, hogy valaki 1994-ben született. Mit adhatsz meg 2026. október 9-re biztosan?
- A) Biztosan 32 évet.
- B) 31 vagy 32 betöltött év lehet; a pontos értékhez a születésnap is kell.
- C) Biztosan 31 évet.
Megoldások és pontozás
1. C. Az évszámkülönbség 32, de az adott évi november 17. még hátravan, ezért egy évet levonunk. Ismétléshez: Melyik napra szeretnél életkort számolni?.
2. A. Az első lépés február 28-ra igazít. A következő lépés már a 28-as napot őrzi meg, így az eredeti dátumhoz képest más a műveletsor. Ismétléshez: Két egymás utáni hónaplépés más napra is érkezhet.
3. B. Az október 9-ig születésnapjukat elérők már 32, a későbbi születésnapúak még 31 évesek. Ismétléshez: Ha csak a születési évet ismered.
Minden helyes válasz 1 pont; a hibás vagy kihagyott válasz 0 pont. Az összpontszám 0–3 lehet.
- 0 pont: dolgozd végig újra a három megoldásban megjelölt részt, és írd le a példák kiinduló feltételeit.
- 1 pont: a két elhibázott kérdésnél vezesd le a helyes választ; külön írd mellé, melyik feltétel vagy számolási lépés maradt ki.
- 2 pont: térj vissza az egyetlen elhibázott kérdéshez kapcsolt részhez, majd egy bemenet megváltoztatásával ellenőrizd újra az eredményt.
- 3 pont: a három összefüggést ebben a feladatsorban helyesen alkalmaztad. Próbáld ki a cikk egyik ellenőrzését saját adatokkal, a feltételeket és a mértékegységeket is feljegyezve.