Epoch laiko konverteris
Konvertuokite Unix laiko žymas į UTC datas arba paverskite datą į epoch sekundes.
Kaip naudotis šiuo „Epoch“ laiko keitikliu
- Pasirinkite konvertavimo režimą
Lauke „Konvertavimo režimas“ pasirinkite „Epoch į datą“ arba „Data į epoch“.
- Konvertuojant „Epoch“ į datą
Į lauką „Epoch laiko žyma (sekundėmis)“ įveskite „Unix“ laiko žymą sekundėmis.
- Konvertuojant datą į „Epoch“
Pasirinkite datą kalendoriuje, tada pagal poreikį nustatykite valandą (UTC), minutę (UTC) ir sekundę (UTC).
- Peržiūrėkite rezultatą
Skaičiuoklė rodo UTC reikšmę, Unix milisekundes ir savaitės dieną.
Kaip veikia šis epoch laiko konverteris
Šis epoch laiko konverteris konvertuoja Unix laiko žymas į žmonėms suprantamas UTC datas ir atvirkščiai. Unix laikas — dar vadinamas POSIX laiku arba epoch laiku — skaičiuoja sekundes, praėjusias nuo Unix epoch pradžios, kuri apibrėžiama kaip 1970 m. sausio 1 d. vidurnaktis UTC (1970-01-01T00:00:00Z). Šis vieno sveikojo skaičiaus formatas yra de-facto standartas saugant ir perduodant laiko žymas duomenų bazėse, API, žurnalo failuose, JWT žetonuose ir beveik visose šiuolaikinėse programavimo kalbose. Konverteris veikia abiem kryptimis: įvedus skaitinę laiko žymą, pateikiama atitinkama UTC data, savaitės diena ir milisekundžių atitikmuo, o įvedus kalendoriaus datą ir laiką, pateikiama epoch reikšmė sekundėmis ir milisekundėmis.
Unix laikas = sekundės, praėjusios nuo 1970-01-01T00:00:00Z Norėdami konvertuoti Unix laiko žymą 1 700 000 000 į datą: pradedant nuo 1970-01-01 00:00:00 UTC, pridėkite 1 700 000 000 sekundžių. Tai lygu 19 675 dienoms, 17 valandų, 46 minutėms ir 40 sekundžių. Gauta UTC data yra 2023-11-14 22:13:20 UTC, kuri yra antradienis. Atitikmuo milisekundėmis yra 1 700 000 000 000. Ir atvirkščiai, įvedus 2023 m. lapkričio 14 d. 22:13:20 UTC, gaunama tiksli epochos vertė 1 700 000 000.
Laiko žyma 0 konvertuojama į 1970-01-01 00:00:00 UTC (ketvirtadienį). Milisekundžių atitikmuo yra 0.
Laiko žyma 1 704 000 000 konvertuojama į 2023-12-31 12:00:00 UTC (sekmadienį). Įvedus šią datą ir laiką režimu „Data į epochą“, gaunama 1 704 000 000.
- ✓ Visi skaičiavimai atliekami UTC laiku. Vietinio laiko konvertavimui po konvertavimo reikia pritaikyti atitinkamą laiko juostos poslinkį.
- ✓ Keliamosios sekundės neskaičiuojamos. Kaip ir POSIX, šis keitiklis kiekvieną dieną laiko lygiai 86 400 sekundžių, o tai atitinka daugumos programavimo kalbų ir operacinių sistemų veikimą.
- ✓ Neigiamos laiko žymos nurodo datas prieš epochos pradžią (1970 m. sausio 1 d.). Pavyzdžiui, −86400 atitinka 1969 m. gruodžio 31 d.
- ✓ Milisekundžių laiko žymas prieš įvedant reikėtų padalyti iš 1 000; keitiklis priima sekundes kaip įvestį ir rezultatuose rodo milisekundžių atitikmenį.
- JavaScript „Date.now()“ ir Java „System.currentTimeMillis()“ grąžina milisekundes, o ne sekundes – prieš įvesdami vertę čia, padalykite ją iš 1 000 arba palyginimui naudokite milisekundžių išvestį.
- 2038 metų problema turi įtakos 32 bitų pasirašytųjų sveikųjų skaičių laiko žymoms, kurios persipildys 2038 m. sausio 19 d. 03:14:07 UTC. Dauguma šiuolaikinių sistemų perėjo prie 64 bitų laiko žymų.
- Derindami API atsakymus ar žurnalo failus, atkreipkite dėmesį į laiko žymas, kurios skiriasi lygiai 3 600 arba 7 200 sekundžių – tai paprastai rodo, kad kažkur procese buvo pritaikyta (arba praleista) laiko juostos poslinkio vertė.
- Epochos laikas visada didėja monotoniškai (neatsižvelgiant į keliamųjų sekundžių koregavimus), todėl jis idealiai tinka įvykių rūšiavimui, trukmės skaičiavimui ir unikalių laiku pagrįstų identifikatorių generavimui.
- IEEE Std 1003.1 (POSIX) — sekundžių nuo epochos pradžios apibrėžimas
- Unix epochos kilmė — „The Unix Heritage Society“ ir „Bell Labs“ dokumentacija
- RFC 3339 — data ir laikas internete: laiko žymos
Kas yra Unix laiko žymos?
Unix laiko žyma yra sekundžių skaičius, praėjęs nuo 1970 m. sausio 1 d. vidurnakčio UTC – Unix epochos. Šis vienas sveikasis skaičius yra de facto standartas laikui atvaizduoti duomenų bazėse, API, žurnalo failuose ir daugumoje programavimo kalbų. Kadangi jis nepriklauso nuo laiko juostos ir nuosekliai didėja, jis supaprastina rūšiavimą, trukmės skaičiavimus ir laiko palyginimus. JavaScript Date.now() ir daugelis API grąžina milisekundes (1 000 × sekundžių), todėl prieš įvesdami milisekundžių reikšmę čia, padalykite ją iš 1 000. Neigiamos laiko žymos nurodo datas iki 1970 m.; pavyzdžiui, −86400 yra lygiai viena diena prieš epochą.
Epochos laiko naudojimo atvejai kūrėjams
Kūrėjai naudoja Unix laiko žymas saugodami įvykių laiką duomenų bazėse, serializuodami datas JSON API, generuodami laiku pagrįstus talpyklos raktus ir derindami žurnalo įrašus. Duomenų bazių stulpeliuose laiko žymos dažnai saugomos kaip sveikieji skaičiai efektyviam indeksavimui ir diapazono užklausoms. API atsakymai dažnai grąžina epochos sekundes arba milisekundes, kad būtų išvengta laiko juostų dviprasmiškumo. Derinimo metu konvertuojant neapdorotą laiko žymą iš žurnalo ar JWT teiginio į žmogui skaitomą datą, greitai paaiškėja, ar reikšmė teisinga, ar skiriasi dėl laiko juostos faktoriaus. Epochos laikas taip pat naudojamas užklausų ribojimui, sesijos galiojimo pabaigai ir rūšiuojamų unikalių identifikatorių generavimui paskirstytose sistemose.
Epochos laiko keitiklio DUK
Kas yra Unix epocha?
Unix epocha yra atskaitos taškas, nuo kurio matuojamas Unix laikas: 1970 m. sausio 1 d. vidurnaktis UTC (1970-01-01T00:00:00Z). Laiko žyma 0 atitinka būtent tą momentą.
Kodėl mano JavaScript laiko žyma turi daugiau skaitmenų?
„JavaScript“ funkcija „Date.now()“ grąžina milisekundes nuo epochos pradžios, o ne sekundes. Padalykite iš 1 000, kad konvertuotumėte į sekundėmis pagrįstą formatą, naudojamą šiame įrankyje, arba lyginkite tiesiogiai su milisekundžių rezultatu.
Ar galiu įvesti neigiamą laiko žymą?
Taip. Neigiamos reikšmės nurodo datas prieš epochą. Pavyzdžiui, −86400 atitinka 1969-12-31T00:00:00Z, t. y. lygiai vieną dieną prieš epochą.
Ar šis įrankis atsižvelgia į keliamąsias sekundes?
Ne, ir tai atitinka POSIX standartą. POSIX laikas daro prielaidą, kad kiekviena diena turi lygiai 86 400 sekundžių. 27 keliamosios sekundės, įterptos nuo 1972 m., nėra atskirai atvaizduojamos, o tai reiškia, kad UTC ir „Unix“ laikas ties keliamųjų sekundžių riba gali skirtis iki vienos sekundės.
Kas yra 2038 metų problema?
Sistemos, saugančios „Unix“ laiką kaip 32 bitų pasirašytąjį sveikąjį skaičių, persipildys 2038 m. sausio 19 d. 03:14:07 UTC. Reikšmė taps dideliu neigiamu skaičiumi, rodančiu 1901 m. datas. Dauguma šiuolaikinių platformų dabar naudoja 64 bitų laiko žymas, kurios nepersipildys daugiau nei 290 milijardų metų.