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.

Rövid válasz

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 szám egy pillanat. A formázás választja az óralapot.
A timestamp pillanat, nem megjelenítési formátum

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.