Unix időbélyeg átváltó
Váltsd át a másodpercben vagy ezredmásodpercben megadott Unix időbélyegeket olvasható dátummá helyi időben, UTC-ben és ISO 8601 formában, és fordítva.
Időbélyeg → dátum
- Helyi idő
- –
- UTC
- –
- ISO 8601
- –
Dátum → időbélyeg
- Másodperc
- –
- Ezredmásodperc
- –
Hogyan használd a Unix időbélyeg átváltót
- Időbélyeg dátummá alakításához illessz be egy epoch értéket, például
1700000000vagy1700000000000. Az eszköz a nagyságrendjéből felismeri, hogy másodpercben vagy ezredmásodpercben van-e megadva. - Olvasd le az eredményt a helyi időzónádban, UTC-ben és ISO 8601 formátumban.
- A fordított irányhoz adj meg egy dátumot és időpontot; az eszköz visszaadja a megfelelő epoch értéket másodpercben és ezredmásodpercben is.
- Nézd meg felül a jelenlegi időbélyeget, amely élőben frissül, ha a „most” értékre van szükséged epoch formában.
Mi az a Unix időbélyeg?
A Unix időbélyeg, más néven epoch idő vagy POSIX-idő, a Unix-epocha óta eltelt másodpercek száma: 1970. január 1., 00:00:00 UTC. Például az 1700000000 2023. november 14-nek 22:13:20 UTC időpontjának felel meg. Az 1970 előtti dátumokat negatív számok ábrázolják.
Az időbélyegek a fejlesztők körében azért népszerűek, mert egyetlen szám, amely nem függ az időzónáktól, a nyári időszámítástól vagy a dátumformátumoktól. Két időpont összehasonlítása egyszerű kivonás, az idő szerinti rendezés pedig egyszerű numerikus rendezés. Találkozhatsz velük adatbázisokban, naplófájlokban, API-válaszokban, JWT-claimekben (például exp és iat), fájl-metaadatokban és cron-szerű ütemezőkben.
Vedd figyelembe, hogy a Unix-idő figyelmen kívül hagyja a szökőmásodperceket: minden nap pontosan 86 400 másodpercnek számít. Ez egyszerűvé teszi a számításokat, és ezért nem szigorúan az 1970 óta eltelt összes fizikai másodperc száma az időbélyeg.
Másodperc és ezredmásodperc
A leggyakoribb félreértés forrása a mértékegység. A hagyományos Unix-rendszerek, a PHP, a Python time.time() függvénye és a legtöbb adatbázis másodpercet használ, ami ma 10 számjegyű számot ad. A JavaScript Date.now(), a Java System.currentTimeMillis() és sok JSON-API ezredmásodpercet használ, ami 13 számjegyű számot ad. Ha az ezredmásodpercet másodpercnek értelmezed, több tízezer évvel a jövőben kötsz ki; ha a másodpercet értelmezed ezredmásodpercnek, 1970 januárjában. Ez az eszköz a szám nagyságából automatikusan kiválasztja a megfelelő mértékegységet, dátum konvertálásakor pedig mindkét értéket megmutatja, hogy a rendszered által várt értéket másolhasd ki.
Helyi idő, UTC és ISO 8601
Az időbélyeg egy pontos időpillanatot azonosít, de ez a pillanat az időzónától függően másképp jelenik meg. A helyi eredmény az eszközödön beállított időzónát használja, az UTC pedig a szerverek és naplók által használt egyetemes referencia. Az ISO 8601, például 2023-11-14T22:13:20.000Z, az a félreérthetetlen szöveges formátum, amelyet a rendszerek közötti dátumcserére ajánlanak; a záró Z UTC-t jelent.
A 2038-as probléma
Sok régebbi rendszer a Unix-időt előjeles 32 bites egész számként tárolja, amelynek legnagyobb értéke 2 147 483 647. Ezt a határt 2038. január 19-én 03:14:07 UTC időpontban érik el. Egy másodperccel később az ilyen számláló nagy negatív számba csordul át, és 1901 decemberi dátumként olvassák. A modern operációs rendszerek, adatbázisok és nyelvek nagyrészt áttértek a 64 bites időértékekre, amelyek a határt milliárd évekkel a jövőbe tolják, de a beágyazott eszközöket, a régi fájlformátumokat és a régi adatbázisoszlopokat még érintheti. Maga a JavaScript nem érintett, mert az időt ezredmásodpercként, 64 bites lebegőpontos számban tárolja.
Adatvédelem
Minden átváltás a böngésződben történik a beépített dátumfüggvényekkel. Semmilyen időbélyeg vagy dátum nem kerül elküldésre a szervernek.
Gyakori kérdések
Honnan tudom, hogy az időbélyegem másodpercben vagy ezredmásodpercben van?
Számold meg a számjegyeket. Egy mai dátum másodpercben 10, ezredmásodpercben 13 számjegyű. Az eszköz automatikusan ugyanezt a logikát alkalmazza a szám nagysága alapján.
Miért tér el a helyi idő az UTC-től?
Mindkettő ugyanazt a pillanatot írja le. A helyi idő az eszközöd időzóna-eltolását és a nyári időszámítás szabályait alkalmazza, az UTC-nek nincs eltolása. Ha másutt élőkkel osztasz meg egy időpontot, az UTC vagy az ISO 8601 elkerüli a félreértéseket.
Lehet negatív a Unix időbélyeg?
Igen. A negatív értékek az 1970. január 1., UTC előtti pillanatokat jelölik. Például a -86400 1969. december 31., 00:00:00 UTC.
Tartalmaz időzónát a Unix időbélyeg?
Nem. Az időbélyeg mindig az UTC-hez viszonyított, és nem hordoz időzóna-információt. Az időzóna csak akkor számít, amikor naptári dátumként és időként jeleníted meg.
Tönkremennek a rendszereim 2038-ban?
Csak akkor, ha az időt előjeles 32 bites egész számban tárolják. Ellenőrizd a régebbi adatbázisokat, a beágyazott firmware-eket és a bináris fájlformátumokat. Ami 64 bites időt használ, az belátható ideig biztonságos.
Kapcsolódó eszközök
- UUID-generátor Ingyenes UUID-generátor v4 és v7 verzióhoz. Akár 1000 darabot is létrehozhatsz egyszerre, nagybetűsen vagy kötőjel nélkül, majd másold ki vagy töltsd le.
- JSON formázó és validátor Ingyenes JSON formázó és validátor, amely a böngésződben szépít, tömörít és ellenőriz JSON-t, a szintaxishibákat sor és oszlop szerint jelezve.