Unix laiko žymės keitiklis
Konvertuok Unix laiko žymes į žmonėms skaitomas datas ir atvirkščiai. Gyvai atnaujinamas epochos skaitiklis kas sekundę.
Laiko žymė į datą
Atnaujinama, kol rašoteData į laiko žymę
Atnaujinama, kol rašoteRedaguoti dalis (metai, mėnuo, diena, laikas)
Greitai pridėti intervalą
Spustelk, kad pridėtum prie laiko žymės viršujeKaip tai veikia
Unix laikas — vienas sveikasis skaičius, didėjantis lygiai vienetu kas sekundę, todėl nepriklausomas nuo laiko juostos, nedviprasmiškas ir lengvai lyginamas. Duomenų bazės, API, žurnalai ir cron užduotys naudoja Unix laiko žymes, nes jos išvengia laiko juostų, vasaros laiko ir lokalei būdingų datos formatų sudėtingumo. Kai API atsake ar duomenų bazėje matai skaičių, pvz., 1774668919, šis įrankis jį iškart konvertuoja į žmonėms skaitomą datą.
Dauguma sistemų saugo laiką sekundėmis nuo epochos, tačiau JavaScript ir kai kurios API naudoja milisekundes (13 skaitmenų), o didelio tikslumo sistemos — mikrosekundes (16 skaitmenų) arba nanosekundes (19 skaitmenų). Šis įrankis automatiškai aptinka detalumą pagal skaitmenų skaičių ir konvertuoja atitinkamai.
2038 m. problema (Y2K38) — žinoma sistemų, saugančių Unix laiką kaip 32 bitų sveikąjį skaičių su ženklu, riba. Didžiausia vertė 2 147 483 647 atitinka 2038 m. sausio 19 d., antradienį, 03:14:07 UTC. Po šio momento skaitiklis persipildo ir virsta neigiamu skaičiumi, kuris būtų interpretuojamas kaip 1901 m. gruodžio 13 d. Šiuolaikinės 64 bitų sistemos nepaveiktos — jos gali vaizduoti datas milijardus metų į ateitį.
Patarimai ir geroji praktika
Dažniausiai užduodami klausimai
Kas yra Unix laiko žymė?
Unix laiko žymė — tai sekundžių, praėjusių nuo 1970 m. sausio 1 d. 00:00:00 UTC (Unix epochos), skaičius. Tai vienas sveikasis skaičius, vaizduojantis konkretų laiko momentą, nepriklausomai nuo laiko juostų.
Kodėl Unix laikas prasideda 1970 m. sausio 1 d.?
Unix epocha buvo pasirinkta, kai Bell Labs septintojo dešimtmečio pradžioje buvo kuriama Unix operacinė sistema. 1970 m. sausio 1 d. — patogi, apvali data, artima sistemos sukūrimui. Nuo tada tapo visuotiniu standartu kompiuterijoje.
Kas yra 2038 m. problema?
Sistemos, saugančios Unix laiką kaip 32 bitų sveikąjį skaičių su ženklu, persipildys 2038 m. sausio 19 d. 03:14:07 UTC, kai vertė viršys 2 147 483 647. Skaitiklis virs neigiamu skaičiumi, interpretuojamu kaip 1901 m. Šiuolaikinės 64 bitų sistemos nepaveiktos ir gali vaizduoti datas milijardus metų į ateitį.
Kuo skiriasi sekundžių ir milisekundžių laiko žymės?
Standartinės Unix laiko žymės skaičiuoja sekundes nuo epochos (10 skaitmenų, pvz., 1774668919). JavaScript Date.now() ir daugelis API grąžina milisekundes (13 skaitmenų, pvz., 1774668919000). Kai kurios didelio tikslumo sistemos naudoja mikrosekundes (16 skaitmenų) arba nanosekundes (19 skaitmenų).
Kaip gauti dabartinę Unix laiko žymę savo kode?
JavaScript: Math.floor(Date.now() / 1000). Python: import time; int(time.time()). PHP: time(). Bash: date +%s. Java: System.currentTimeMillis() / 1000.
Ar Unix laiko žymės gali būti neigiamos?
Taip. Neigiamos Unix laiko žymės vaizduoja datas iki 1970 m. sausio 1 d. Pavyzdžiui, −86400 reiškia 1969 m. gruodžio 31 d. 00:00:00 UTC. Dauguma šiuolaikinių sistemų palaiko neigiamas laiko žymes.
Ar Unix laiko žymes veikia laiko juostos ar vasaros laikas?
Ne. Unix laiko žymės visada yra UTC ir nepriklauso nuo laiko juostų ar vasaros laiko. Ta pati laiko žymė visame pasaulyje vaizduoja tą patį momentą. Laiko juostos konvertavimas vyksta tik rodant laiko žymę kaip vietinę datą.