Hogyan működik az öröknaptár?
vagyis hogyan lehet kiszámolni például a születésem napját vagy azt hogy egyéb múltbeli dátumok milyen napra estek?
képlet vagy magyarázat kellene.
A konkrét algoritmust most fejből nem tudom elmondani, de:
a naptárak matematikailag eléggé szabályos képződmények. Egy év 365 nap, egy szökőév 366. Egy hét hét nap. Innentől kezdve már csak pár matematikai alapművelet, hogy megállípatsd, melyik dátum milyen napra esett.
Pontosabb közelítésben: ha csak arra vagy kíváncsi, hogy mondjuk 1995. május 20. milyen napra esett, megállapítod, hogy a két dátum között hány nap telt el, annak veszed a hetes maradákát (mivel ugye egy hét 7 nap), és ebből egy csapásra kiderül, hogy az adott napa héten belül mennyivel van odább a hét mai napjánál.
Tehát egy dátumról - év,hó,nap - (1582 utáni) eldönti, hogy a hét melyik napjára esik:
Y = év-1
n = Y + [Y/4] - [Y/100] + [Y/400] + hónap_korr + nap
[]= egészrész
hónap_korr ={0,3,3,6,1,4,6,2,5,0,3,5}
n-ből le kell vonni egyet, kivéve ha a dátum február utánra esik (>=márc.1).
n mod 7 adja a napot: 0:hétfő, 1:kedd ...
A szökőév definíció:
(év mod 4)=0 ÉS ((év mod 100)<>0 VAGY (év mod 400)=0)
Néggyel osztható. A 100-al oszthatóak közül csak a 400-al osztható.
Kimaradt egy lényeges szó:
n-ből le kell vonni egyet, kivéve ha a dátum SZÖKŐÉVBEN február utánra esik (>=márc.1).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!