CodeKitHub
Ajatööriistad

Unixi Ajatempli Teisendaja

Viimati uuendatud:

Unixi ajatempel loeb sekundeid, mis on möödunud 1. jaanuarist 1970, kell 00:00:00 UTC — näiteks ajatempel 1 000 000 000 langes 9. septembrile 2001. Teisenda Unixi ajatempel loetavaks kuupäevaks või vali kuupäev ja saa selle ajatempel. Tööriist tuvastab automaatselt, kas tegu on sekundite või millisekunditega, näitab kohalikku aega, UTC-d ja ISO 8601 vormingut ning kuvab üleval elava tiksuva epoch-kella.

Current timestamp (seconds)
Current timestamp (milliseconds)

Timestamp → Date

Date → Timestamp

Mis see tööriist on?

Unixi ajatempel (nimetatakse ka epoch-ajaks) on sekundite arv, mis on möödunud 1. jaanuarist 1970, kell 00:00:00 UTC. See on standardne viis, kuidas arvutid ajahetki salvestavad: andmebaasid, logifailid, API-d ja programmeerimiskeeled kasutavad seda kõik, sest tegu on ühe üheselt mõistetava numbriga, mis ei tekita ajavööndisegadust.

Kasutusel on kaks varianti: sekundid (tänapäeval 10 kohta, nt 1720500000) ja millisekundid (13 kohta, kasutusel JavaScriptis ja Javas). See tööriist tuvastab automaatselt, kumba sa kleepisid.

Miks seda kasutada?

  • Loe ajatempleid logidest, andmebaasi ridadest ja API vastustest hetkega.
  • Tuvastab automaatselt, kas tegu on sekundite või millisekunditega — ei mingit arvamist.
  • Näitab koos kohalikku aega, UTC-d, ISO 8601 vormingut ja suhtelist aega ("3 tundi tagasi").
  • Teisenda mõlemas suunas: ajatempel → kuupäev ja kuupäev → ajatempel.
  • Elav praeguse epoch-i kell kiireks vaatamiseks.

Kuidas kasutada

  1. Dekodeerimiseks: kleebi ajatempel (nt 1720500000) vasakusse kasti ja klõpsa "Teisenda".
  2. Loe tulemust oma kohalikus ajavööndis, UTC-s, ISO 8601 vormingus ja suhtelise ajana.
  3. Kodeerimiseks: vali kuupäev ja kellaaeg paremas kastis ning klõpsa "Teisenda", et saada selle ajatempel sekundites ja millisekundites.
  4. Kasuta üleval olevat elavat kella, kui vajad lihtsalt praegust ajatemplit.

Näide

Sisend

1720500000

Tulemus

Kohalik aeg: 7/9/2024, 1:20:00 PM
UTC aeg:   Tue, 09 Jul 2024 05:20:00 GMT
ISO 8601:   2024-07-09T05:20:00.000Z

10-kohalist väärtust käsitletakse sekunditena, 13-kohalist millisekunditena.

Praktilised näpunäited

  • "Vale aja" vigade silumisel: 90% neist on ajavööndi kuvamise probleemid, mitte valed ajatemplid. Võrdle UTC rida oma serveri logidega (serverid logivad tavaliselt UTC-s) enne koodi kallale minemist.
  • Kuupäev, mis langeb täpselt 1970-01-01 peale, tähendab, et ajatempel oli 0 või puudus — klassikaline nullväärtuse sümptom, mitte tegelik kuupäev.
  • Kuupäev umbes 1970 + mõned päevad tähendab tavaliselt, et sekundeid tõlgendati kuskil millisekunditena; kuupäev aastal 56 000+ tähendab vastupidist.
  • Tabelarvutuses: Excel loeb päevi alates 1900, mitte sekundeid alates 1970. Teisenda valemiga =(A1/86400)+DATE(1970,1,1) sekundites ajatempli jaoks.

Reaalsed kasutusstsenaariumid

Kus ajatemplid praktikas probleeme tekitavad: JWT-de ja API tokenite aegumisväljade lugemine (exp/iat on Unixi sekundid), kasutaja veateate aja seostamine serveri logiridadega, vahemälu TTL-ide ja cron-akende seadistamine ning sertifikaadi või tokeni tegeliku aegumise kontrollimine. Suhtelise aja rida ("3 tundi tagasi") on kiireim mõistlikkuse kontroll kõigi nende jaoks.

JWT-de silumine on piisavalt levinud, et seda eraldi mainida: dekodeeri tokeni sisu Base64 tööriistaga, seejärel kleebi exp väärtus siia — kohene vastus küsimusele "kas see token on aegunud ja kui palju".

Miks Unixi aeg sellisel kujul disainiti

Ühe kasvava numbri salvestamine kindlast epoch-ist alates (mitte aasta/kuu/päeva/tunni struktuuris) oli teadlik lihtsuse valik: kahte ajatemplit saab võrrelda või lahutada tavalise aritmeetikaga, ilma kalendriloogikata — seepärast on andmebaasid, logivormingud ja peaaegu iga programmeerimiskeele sisemine kuupäevade esitus sellele üles ehitatud. Selle lihtsuse hind on täpselt see, mida see tööriist tasandama peab — inimesed ei mõtle sekundites alates 1970. aastast, seega tuleb iga ajatempel tagasi kalendrikuupäevaks tõlkida, enne kui see inimesele mõtestatud on, ning selline tõlge peab arvestama korraga ajavööndi, täpsuse (sekundid vs millisekundid) ja kuvamisvormingu.

Base64 Kodeerija / Dekodeerija · Vanuse Kalkulaator

Korduma kippuvad küsimused

Kuidas tööriist teab, kas mu ajatempel on sekundites või millisekundites?

Suuruse järgi. Väärtusi alates 1 000 000 000 000-st (1e12) käsitletakse millisekunditena, väiksemaid sekunditena. Praegused kuupäevad on sekundites umbes 1,7 miljardit ja millisekundites umbes 1700 miljardit, nii et need kaks vahemikku ei kattu tegelike kuupäevade puhul.

Miks näitab mu ajatempel teistsugust tundi kui ma ootasin?

Ajavööndid. Ajatempel on alati UTC-põhine; "kohaliku aja" rida teisendab selle sinu seadme ajavööndisse. Võrdle UTC rida sellega, mida su lähtesüsteem logib — paljud serverid logivad UTC-s.

Mis on 2038. aasta probleem?

Süsteemid, mis salvestavad ajatemplid allkirjastatud 32-bitiste täisarvudena, jooksevad üle 19. jaanuaril 2038. Kaasaegsed süsteemid kasutavad 64-bitisi täisarve ja pole mõjutatud. See tööriist kasutab JavaScripti numbreid, mis käsitlevad kuupäevi kaugelt kaugemale kui 2038.

Kas ma saan teisendada negatiivseid ajatempleid?

Jah. Negatiivsed ajatemplid tähistavad kuupäevi enne 1. jaanuari 1970 — näiteks -86400 on 31. detsember 1969.

Kas epoch arvestab liigsekunditega?

Ei. Unixi aeg eeldab, et igas päevas on täpselt 86 400 sekundit, ja ignoreerib liigsekundeid — see on teadlik lihtsustus, mis hoiab aritmeetika lihtsana.

Seotud tööriistad