Kuupäevade arvutamine võib esmapilgul tunduda lihtsa liitmise või lahutamisena, kuid kalendrisüsteemi omapärad teevad sellest keerulise matemaatilise ülesande. Kuude pikkused varieeruvad 28 päevast kuni 31 päevani ning liigaastad lisavad süsteemi täiendava muutuja. Kuupäevakalkulaator on loodud selleks, et teha täpseid kalendriarvutusi, võttes arvesse kõiki neid reegleid ja erijuhte. Tööriist võimaldab lisada või lahutada alguskuupäevast määratud arvu aastaid, kuid, nädalaid ja päevi.
Kõik arvutused tehakse teie brauseris – sisestatud kuupäevad ei lahku kunagi teie seadmest. See tähendab, et andmeid ei edastata välistesse serveritesse ja töötlus toimub lokaalselt kasutaja arvutis või nutiseadmes.
Kalendrimatemaatika mehaanika ja reeglid
Täpse tulemuse saavutamiseks järgib kalkulaator ranget arvutusloogikat ja kindlaid piiranguid:
- Toetatud vahemik: Kalkulaator toetab tulemusi, mis jäävad aastate 1–9999 vahemikku. Kui arvutuse tulemus jääb sellest vahemikust väljapoole, kuvatakse veateade "Tulemus jääb toetatud vahemikust (aastad 1–9999) väljapoole.".
- Sisendväärtuste piirangud: Sisestatavad väärtused väljadel "Aastad", "Kuud", "Nädalad" ja "Päevad" peavad olema täisarvud vahemikus 0 kuni 1 000 000. Kui mõni sisestatud väärtus on sellest vahemikust väljas või ei ole täisarv, kuvatakse veateade "Iga väärtus peab olema täisarv ja mitte suurem kui 1 000 000.".
- Alguskuupäeva kontroll: Kui sisestatud alguskuupäev ei vasta reaalsele kalendrile, kuvatakse veateade "Alguskuupäev ei ole kehtiv kalendrikuupäev.". Vigase sisendi puhul tühjendatakse tulemuste väljad ja nende väärtuseks kuvatakse
—. - Kalendripäevade põhimõte: Kalkulaator kasutab arvutustes kalendripäevi, mis tähendab, et loendisse kuuluvad eranditult kõik nädalapäevad, sealhulgas nädalavahetused ja riigipühad.
Tehete järjekord kuupäevaarvutuses
Kui kuupäevale liidetakse või lahutatakse korraga mitu erinevat ajaühikut, määrab lõpptulemuse tehete järjekord. Kalkulaator rakendab ühikuid kindlas järjekorras:
- Esmalt rakendatakse aastad ja kuud.
- Seejärel liidetakse või lahutatakse saadud vahetulemusele nädalad ja päevad.
Kuna kuude pikkused on erinevad, võib tehete järjekorra muutmine anda erinevaid tulemusi. Süsteemi ühtne reegel tagab, et arvutused on alati prognoositavad ja järjepidevad.
Kuupäevade kärpimine ehk "clamping"
Üks keerulisemaid olukordi kalendrimatemaatikas tekib siis, kui arvutatud kuupäev peaks langema päevale, mida sihtkuus ei eksisteeri. Näiteks kui 31. augustist lahutatakse täpselt 6 kuud, peaks tulemus teoreetiliselt olema 31. veebruar. Kuna veebruaris on sõltuvalt aastast vaid 28 või 29 päeva, ei ole see kuupäev reaalne.
Sellistel puhkudel kasutab kalkulaator kuupäeva kärpimise (inglise keeles clamping) meetodit. Kui arvutatud kuupäev langeb päevale, mida sihtkuus ei ole, nihutatakse tulemus automaatselt selle kuu viimasele päevale. Sellises olukorras kuvatakse kasutajale selgitav märkus: "Seda päeva sihtkuus ei eksisteeri, seega langeb tulemus selle kuu viimasele päevale.".
Väljundvormingud ja nende kasutamine
Pärast arvutuse sooritamist kuvab kalkulaator tulemused kolmes erinevas vormingus, mis on mõeldud erinevateks kasutusotstarveteks:
| Väljundväli | Kirjeldus |
|---|---|
| Saadud kuupäev | Kuvab arvutatud kuupäeva koos vastava nädalapäevaga (näiteks esmaspäev, teisipäev jne). |
| Kujul YYYY-MM-DD | Esitab kuupäeva standardses ISO 8601 vormingus (aasta-kuu-päev), mis on laialdaselt kasutusel andmebaasides ja dokumentatsioonis. |
| Päevi alguskuupäevast | Näitab matemaatilist vahet ehk kogupäevade arvu alguskuupäeva ja saadud kuupäeva vahel. |
Kõik need kolm tulemust on kopeeritavad – väärtuse lõikelauale salvestamiseks piisab sellel klõpsamisest.
Korduma kippuvad küsimused
Mis on 31. jaanuar pluss üks kuu?
Veebruaris ei ole 31. kuupäeva, seega langeb tulemus hoopis kuu viimasele päevale – 28. veebruarile (või liigaastal 29. veebruarile). Seda põhimõtet järgivad kalendrid, pangad ja tabelarvutusprogrammid ning olekuriba teavitab teid alati, kui see juhtub.
Millises järjekorras aastaid, kuid, nädalaid ja päevi liidetakse?
Esmalt liidetakse aastad ja kuud ning seejärel nädalad ja päevad. Nii et 31. jaanuar pluss üks kuu ja üks päev viib esmalt veebruari viimasele päevale ja astub sealt ühe päeva võrra märtsikuusse. Teistsugune järjekord võiks anda teise tulemuse, mistõttu on see reegel kindlaks määratud ja prognoositav.
Kas see arvestab tööpäevi?
Ei – kalkulaator arvutab kalendripäevi, seega on nädalavahetused ja riigipühad arvutuses sees. Tulemuses kuvatakse ka nädalapäev, et näeksite kohe, kui tähtaeg langeb laupäevale või pühapäevale, ja saaksite seda ise nihutada.