Tech Help
Unix Timestamp dátummá: másodperc, ezredmásodperc és UTC magyarázata
Váltson Unix timestampet dátummá. Nézze a másodpercet az ezredmásodperc mellett, az UTC-t a helyi idő mellett, az ISO 8601-et, és hogyan térjen vissza dátumból epoch időre.
A Unix timestamp az időt a Unix epochhoz képest adja meg: 1970-01-01 00:00:00 UTC. Általában másodpercben tárolják az epoch óta, vagy ezredmásodpercben az epoch óta.
A helyes váltáshoz előbb tudnia kell az egységet. 1720000000 másodperc az 2024-07-03 09:46:40 UTC. 1720000000000 ezredmásodperc ugyanaz a pillanat.
A timestamp egy pillanatot azonosít. Az UTC, a helyi idő vagy egy IANA-zóna csak azt változtatja, hogyan jelenik meg ez a pillanat.
Ez váltási útmutató: timestamp dátummá, dátum timestamppé, UTC a helyi idővel szemben, és ISO 8601. Ha egy érték váratlanul 1970-es dátum lesz, általában másodperc/ezredmásodperc eltérés — lásd Unix Timestamp másodperc vs ezredmásodperc: miért 1970 a dátum.
Mi a Unix Timestamp?
A Unix timestamp, Unix time és epoch time általában az 1970-01-01 00:00:00 UTC óta eltelt időt jelenti. A szám nem formázott dátumszöveg időzónacímkével. Ugyanaz a pillanat más órával jelenhet meg UTC-ben, New Yorkban, Tokióban vagy Szöulban. A Unix timestamp nem mindig másodperc — az ezredmásodperc a gyakorlatban gyakori.
Mi a Unix Epoch?
A Unix epoch 1970-01-01 00:00:00 UTC. A 0 timestamp ez a pillanat. A pozitív timestamp az epoch után van. Egyes rendszerek negatív timestampet is engednek az epoch előtti időre, de a nyelv és a dátumtartomány támogatása eltér.
A timestampem másodpercben vagy ezredmásodpercben van?
1720000000 másodperc; 1720000000000 ezredmásodperc; ugyanaz a pillanat. Gyakorlati támpont: nagyjából 10 számjegy gyakran másodperc, nagyjából 13 gyakran ezredmásodperc. A számjegyszám csak heurisztika. Múltbeli vagy jövőbeli dátumok, más egységek vagy egyedi epoch másképp nézhetnek ki. A Dátum- és időkonverter másodperccel, ezredmásodperccel vagy automatikusan válthat (≤10 számjegy másodpercként, ≥13 ezredmásodpercként) — válassza az egységet, ha ismeri.
Miért ad rossz dátumot a rossz egység?
A JavaScript Date ezredmásodpercet vár. Ha 1720000000-t ezredmásodpercként adja át, az eredmény 1970-01-20 21:46:40 UTC. Az ezredmásodperc másodpercként kezelése, vagy fordítva, teljesen más dátumra visz. Az 1970-es hibakeresési úthoz lásd Unix Timestamp másodperc vs ezredmásodperc: miért 1970 a dátum.
new Date(1720000000);
// 1970-01-20T21:46:40.000Z
Hogyan váltson Unix timestampet másodpercben
Szorozza a másodpercet 1000-rel, hogy ezredmásodpercet kapjon. A JavaScript Date ezredmásodperc-alapú, ezért használja: new Date(timestamp * 1000).
const timestamp = 1720000000;
const date = new Date(timestamp * 1000);
date.toISOString();
// 2024-07-03T09:46:40.000Z
Hogyan váltson ezredmásodperces timestampet
Az ezredmásodpercet adja közvetlenül a Date-nek. Ne szorozza újra 1000-rel az ezredmásodperces timestampet.
const timestamp = 1720000000000;
const date = new Date(timestamp);
date.toISOString();
// 2024-07-03T09:46:40.000Z
Miért mutat más időt ugyanaz a timestamp?
A Unix timestamp egyetlen pillanat. UTC-ben, helyi időben vagy választott IANA-zónában megjelenítve az óralap változik. 1720000000000 esetén UTC: 2024-07-03 09:46:40. America/New_York azon a napon: 2024-07-03 05:46:40 (EDT). Asia/Seoul: 2024-07-03 18:46:40 (UTC+9). A New York-i és szöuli értékek az Intl-ből jönnek, nem rögzített eltolás szlogenjéből.
Tartalmaz a Unix timestamp időzónát?
Nem. Nem tárolja az America/New_Yorkot és az Asia/Seoult. A timestamp egy pillanatot azonosít. Az időzónát akkor alkalmazza, amikor a pillanatot olvasható dátummá és idővé formázza. Az epoch az UTC-hez képest van definiálva; maga a szám nem „UTC időzónamező”.
Unix Timestamp versus ISO 8601
A 1720000000 és a 2024-07-03T09:46:40Z ugyanazt a pillanatot jelentheti. A Unix numerikus eltelt-idő érték. Az ISO 8601 olvasható dátum-idő szöveg, és Z-re (UTC) vagy numerikus eltolásra végződhet. A Z UTC-t jelent; néha Zulu a neve. Nem ugyanaz a formátum.
Hogyan kapja meg a jelenlegi Unix timestampet?
JavaScriptben a Date.now() ezredmásodperc. A Math.floor(Date.now() / 1000) másodperc. Ne kódolja be a „most”-ot egy cikkbe; elmozdul.
Date.now();
Math.floor(Date.now() / 1000);
Vissza lehet váltani dátumot Unix timestamppé?
Igen. Explicit UTC ISO szövegből a getTime() ezredmásodpercet ad; ossza 1000-rel, és kerekítsen lefelé másodpercre.
const date = new Date("2024-07-03T09:46:40Z");
date.getTime();
// 1720000000000
Math.floor(date.getTime() / 1000);
// 1720000000
Óvatosan a kétértelmű dátumformátumokkal
A 03/07/2024 régiótól függően március 7. vagy július 3. lehet. Inkább ISO-stílusú dátum és idő időzónával vagy eltolással. A Dátum- és időkonverter elutasítja a kétértelmű numerikus dátumokat, például 01/02/2026, és dátumválasztót vagy ISO-stílusú értéket kér.
Mi a helyzet a nyári időszámítással?
A Unix timestamp nem tárol nyári időszámítás jelzőt. A helyi megjelenítés a zóna szabályait alkalmazza. Az America/New_York télen és nyáron más eltolást használ, ezért a „New York UTC-5” nem mindig igaz.
A Unix timestampek tartalmazzák a szökőmásodperceket?
A tipikus POSIX/Unix idő nem számolja a szökőmásodperceket extra SI-másodpercnek folyamatos skálán. A platformok eltérhetnek. Mindennapi váltásnál ezt a részletet figyelmen kívül hagyhatja.
Gyakori Unix timestamp váltási hibák
Ezek a keverések rossz dátumot vagy rossz óralapot adnak:
Másodperc ezredmásodpercként kezelve
Egy mai másodpercérték ekkor 1970 közelébe esik a JavaScript Date-ben.
Ezredmásodperc másodpercként kezelve
A dátum messze a jövőbe ugrik.
A 10 vagy 13 számjegyet törvényként kezelni
A számjegyszám támpont, nem garancia.
UTC összekeverése a helyi idővel
A pillanat ugyanaz; a megjelenített óra eltérhet.
Feltételezni, hogy az időzóna a számban van
Az IANA-neveket megjelenítéskor alkalmazzák, a timestampben nincsenek tárolva.
Kétértelmű dátumok, nyáriidő-szlogenek vagy extra ×1000
Használjon ISO-stílusú bemenetet. Ne szorozza újra az ezredmásodperces timestampet.
Ellenőrzött UTC példák
Ezeket az UTC órákat számolták, nem tippelték:
| Bemenet | Egység | UTC |
|---|---|---|
| 0 | másodperc | 1970-01-01 00:00:00 |
| 1720000000 | másodperc | 2024-07-03 09:46:40 |
| 1720000000000 | ezredmásodperc | 2024-07-03 09:46:40 |
| 1720000000 | ezredmásodperc | 1970-01-20 21:46:40 |
Egyszerű döntési útmutató a váltáshoz
Ha a forrás megnevezi az egységet, használja. Ha nem, a számjegyszám támpont — aztán ellenőrizze, hogy a dátum hihető. Váltsa a másodpercet ezredmásodpercre, ha az API ms-t kér. Megjelenítéshez válasszon UTC-t, helyit vagy IANA-zónát. Az ISO 8601 tárolásra és cserére hasznos.
- Van egy Unix timestampje
- Egység megadva? Használja; különben nézze a nagyságrendet
- Másodperc? ×1000 ha az API ezredmásodpercet kér
- Ezredmásodperc? Használja közvetlenül ms-alapú API-ban
- Jelenítse meg UTC-ként, helyiként vagy IANA-zónaként
- Szöveg kell? Az ISO 8601 megfelelhet
A timestamp egy időpontot azonosít. Az UTC, a helyi idő vagy az időzóna csak azt dönti el, hogyan látja ezt a pillanatot egy ember.
Unix timestampek váltása a böngészőben
A NEXNARA Dátum- és időkonverter Unix másodpercet és ezredmásodpercet vált, UTC-t, helyi időt és ISO 8601-et mutat, és IANA időzónák között konvertál.
A Unix mód támogatja a másodpercet, ezredmásodpercet, automatikus egységet, aktuális időt és dátumot timestamppé. Az időzóna mód IANA-neveket keres, a böngésző zónáját használja, és nyári időszámítást ismerő Intl-eltolásokat alkalmaz. A formátum mód régiónként olvasható kimenetet, 12/24 órás megjelenítést és kétértelmű-dátum védelmet ad. A dátumkülönbség külön mód.
A váltás a böngésző Date és Intl API-jait használja. A Date által nem ábrázolható értékeket elutasítja. Az automatikus egység nem tippel 11–12 számjegyű értékeket; válasszon másodpercet vagy ezredmásodpercet.
Magának a dátum- és timestampváltásnak a böngészőben van a helye. A bemeneteket nem küldi NEXNARA-kiszolgálóra váltásra. A hirdetések és más oldalfunkciók továbbra is használják a hálózatot.
Illesszen be egy timestampet a Dátum- és időkonverter eszközbe, és hasonlítsa az UTC-t, a helyi időt és az ISO 8601-et, mielőtt egységet választ.
FAQ
Hogyan váltok Unix timestampet dátummá?
Tudja az egységet. Másodperchez JavaScriptben: new Date(n * 1000). Ezredmásodperchez: new Date(n). Ezután formázza UTC-ként, helyiként vagy zónaként.
A Unix timestamp másodpercben vagy ezredmásodpercben van?
Bármelyik. Nagyjából 10 számjegy gyakran másodperc, nagyjából 13 gyakran ezredmásodperc, de ez heurisztika, nem szabály.
Miért mutat 1970-et a timestampem?
Általában másodpercértéket olvastak ezredmásodpercként. Lásd Unix Timestamp másodperc vs ezredmásodperc: miért 1970 a dátum.
A Unix timestamp mindig UTC?
Az epoch az UTC-hez képest van definiálva, és a szám egy pillanatot azonosít. A megjelenítési időzóna külön van. Nem tárolt „UTC időzónamező”.
Tartalmaz a Unix timestamp időzónát?
Nem. Nem visel IANA-azonosítót. Az időzónát a pillanat formázásakor alkalmazza.
Hogyan váltok dátumot Unix timestamppé?
UTC ISO szövegből a date.getTime() ezredmásodperc; a Math.floor(date.getTime() / 1000) másodperc.