Valaki megírná nekem phpban?
Ez annyira nem is egyszerű feladat, mint amilyennek látszik.
Egyrészt egy év 365 napból áll, tehát a nap önmagában csak 2 tizedesjegy pontosságot ad. Tehát kell hozzá az óra perc is. Ezzel együtt bejön a téli, nyári időszámítás kérdésköre is, tehát ezzel ugye a helyet is kellene tudnod, illetve hogy az adott helyen a kérdéses dátumok esetén – születési dátum, illetve jelenlegi dátum – téli, vagy nyári időszámítás volt-e, van-e érvényben, illetve hogy pl. a születésnapodnál megadott óra téli, vagy nyári időszámítás szerint értendő-e.
Ugye lehetne azt csinálni, hogy unix epochban kivonod egymásból a két dátumot, így megkapod a másodperceket, de ezt hogyan alakítod át évre? Persze foghatod és oszthatod 365*24*60*60-al, csak az nem lesz 5 tizedes jegy pontosság. Vagy vehetsz egy pontosabb évhosszot is 365,242189669781 nappal, csak akkor meg előfordulhat, hogy a szökőnapok működéséből fakadóan a rendszer azt dobja ki, hogy 9,98257 éves vagy, holott tegnap ünnepelted a 10. születésnapodat.
Pontosabb, ha kiszámoljuk, hogy az adott évben volt-e már szülinapod, és ez alapján döntjük el az eredmény egész részét, majd megnézzük, hogy mennyi idő telt el az utolsó szülinapod óta, és mennyi fog eltelni a következő szülinapodig. Ez talán a legkorrektebbnek tűnő eredmény, de ebbe is bele lehet kötni, attól függően, hogy hogyan értelmezed az évet, mint időegységet.
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!