Tech Help

Unix Timestamp päivämääräksi: sekunnit, millisekunnit ja UTC selitettynä

Muunna Unix timestamp päivämääräksi. Katso sekunnit vastaan millisekunnit, UTC vastaan paikallinen aika, ISO 8601 ja miten päivämäärästä palataan epoch-aikaan.

Lyhyt vastaus

Unix timestamp esittää ajan suhteessa Unix epochiin: 1970-01-01 00:00:00 UTC. Se tallennetaan yleensä sekunteina epochista tai millisekunteina epochista.

Oikeaan muunnokseen pitää ensin tietää yksikkö. 1720000000 sekuntia on 2024-07-03 09:46:40 UTC. 1720000000000 millisekuntia on sama hetki.

Timestamp yksilöi hetken. UTC, paikallinen aika tai IANA-vyöhyke muuttaa vain sen, miten hetki näytetään.

Tämä on muunnosopas: timestamp päivämääräksi, päivämäärä timestampiksi, UTC vastaan paikallinen, ja ISO 8601. Jos arvo muuttuu yllättäen vuoden 1970 päiväykseksi, kyse on yleensä sekuntien ja millisekuntien sekaannuksesta—katso Unix Timestamp sekunteina vs millisekunteina: miksi päiväys näyttää vuotta 1970.

Mikä on Unix Timestamp?

Unix timestamp, Unix time ja epoch time tarkoittavat yleensä kulunutta aikaa hetkestä 1970-01-01 00:00:00 UTC. Luku ei ole muotoiltu päiväysmerkkijono aikavyöhyketunnisteella. Sama hetki voi näkyä eri kellonaikoina UTC:ssä, New Yorkissa, Tokiossa tai Soulissa. Unix timestampit eivät ole aina sekunteja—millisekunnit ovat käytännössä yleisiä.

Mikä on Unix Epoch?

Unix epoch on 1970-01-01 00:00:00 UTC. Timestamp 0 on se hetki. Positiivinen timestamp on epochin jälkeen. Jotkin järjestelmät sallivat negatiivisen timestampin ajalle ennen epochia, mutta kieli- ja päivämääräalueen tuki vaihtelee.

Onko timestampini sekunteina vai millisekunteina?

1720000000 on sekunteja; 1720000000000 on millisekunteja; ne ovat sama hetki. Käytännön vihje: noin 10 numeroa tarkoittaa usein sekunteja, noin 13 usein millisekunteja. Numeromäärä on vain nyrkkisääntö. Menneet tai tulevat päiväykset, muut yksiköt tai mukautettu epoch voivat näyttää erilaisilta. Päivämäärä- ja aikamuunnin voi muuntaa sekunneilla, millisekunneilla tai automaattisesti (≤10 numeroa sekunteina, ≥13 millisekunteina)—valitse yksikkö, kun tiedät sen.

Miksi väärä yksikkö tuottaa väärän päiväyksen?

JavaScript Date odottaa millisekunteja. Jos annat 1720000000 millisekunteina, tulos on 1970-01-20 21:46:40 UTC. Millisekuntien käsittely sekunteina tai päinvastoin osuu aivan eri päiväykseen. Vuoden 1970 vianetsintäpolulle katso Unix Timestamp sekunteina vs millisekunteina: miksi päiväys näyttää vuotta 1970.

new Date(1720000000);
// 1970-01-20T21:46:40.000Z

Miten Unix timestamp muunnetaan sekunteina

Kerro sekunnit 1000:lla, niin saat millisekunnit. JavaScript Date perustuu millisekunteihin, joten käytä new Date(timestamp * 1000).

const timestamp = 1720000000;
const date = new Date(timestamp * 1000);
date.toISOString();
// 2024-07-03T09:46:40.000Z

Miten millisekuntitimestamp muunnetaan

Anna millisekunnit suoraan Datelle. Älä kerro millisekuntitimestampia uudelleen 1000:lla.

const timestamp = 1720000000000;
const date = new Date(timestamp);
date.toISOString();
// 2024-07-03T09:46:40.000Z

Miksi sama timestamp näyttää eri kellonajan?

Unix timestamp on yksi hetki. Näyttäminen UTC:nä, paikallisena aikana tai valitussa IANA-vyöhykkeessä muuttaa kellotaulua. Arvolle 1720000000000 UTC on 2024-07-03 09:46:40. America/New_York tuona päivänä on 2024-07-03 05:46:40 (EDT). Asia/Seoul on 2024-07-03 18:46:40 (UTC+9). New Yorkin ja Soulin arvot tulevat Intl:stä, eivät kiinteän siirroksen iskusta.

Sisältääkö Unix timestamp aikavyöhykkeen?

Ei. Se ei tallenna America/New_Yorkia eikä Asia/Seoulia. Timestamp yksilöi hetken. Aikavyöhyke lisätään, kun hetki muotoillaan luettavaksi päivämääräksi ja ajaksi. Epoch määritellään UTC:hen nähden; luku itse ei ole ”UTC-aikavyöhykekenttä”.

Unix Timestamp vastaan ISO 8601

1720000000 ja 2024-07-03T09:46:40Z voivat merkitä samaa hetkeä. Unix on numeerinen kuluneen ajan arvo. ISO 8601 on luettava päivämäärä-aika-merkkijono, joka voi päättyä Z:aan (UTC) tai numeeriseen siirrokseen. Z tarkoittaa UTC:tä; sitä kutsutaan joskus Zuluksi. Ne eivät ole sama muoto.

Miten saadaan nykyinen Unix timestamp?

JavaScriptissä Date.now() on millisekunteja. Math.floor(Date.now() / 1000) on sekunteja. Älä kovakoodaa ”nyt”-hetkeä artikkeliin; se liikkuu.

Date.now();
Math.floor(Date.now() / 1000);

Voiko päivämäärän muuntaa takaisin Unix timestampiksi?

Kyllä. Eksplisiittisestä UTC ISO-merkkijonosta getTime() palauttaa millisekunnit; jaa 1000:lla ja pyöristä alaspäin sekunneiksi.

const date = new Date("2024-07-03T09:46:40Z");
date.getTime();
// 1720000000000
Math.floor(date.getTime() / 1000);
// 1720000000

Varo moniselitteisiä päivämäärämuotoja

03/07/2024 voi tarkoittaa 7. maaliskuuta tai 3. heinäkuuta alueesta riippuen. Suosi ISO-tyylistä päivämäärää ja aikaa aikavyöhykkeellä tai siirroksella. Päivämäärä- ja aikamuunnin hylkää moniselitteiset numeeriset päiväykset kuten 01/02/2026 ja pyytää päivämäärävalitsinta tai ISO-tyylistä arvoa.

Entä kesäaika?

Unix timestamp ei tallenna kesäaikalippua. Paikallinen näyttö soveltaa vyöhykkeen sääntöjä. America/New_York käyttää eri siirroksia talvella ja kesällä, joten ”New York on UTC-5” ei pidä aina paikkaansa.

Sisältyvätkö karkaussekunnit Unix timestampeihin?

Tyypillinen POSIX/Unix-aika ei laske karkaussekunteja ylimääräisiksi SI-sekunneiksi jatkuvalla asteikolla. Alustat voivat poiketa. Arkipäivän muunnoksessa tämän voi sivuuttaa.

Yleisiä Unix timestamp -muunnosvirheitä

Nämä sekaannukset tuottavat väärän päiväyksen tai väärän kellonajan:

Sekunnit käsitelty millisekunteina
Nykyinen sekuntiarvo osuu silloin lähelle vuotta 1970 JavaScript Daten kanssa.

Millisekunnit käsitelty sekunteina
Päiväys hyppää kauas tulevaisuuteen.

10 tai 13 numeroa lakina
Numeromäärä on vihje, ei takuu.

UTC:n sekoittaminen paikalliseen aikaan
Hetki on sama; näytetty kello voi erota.

Oletus, että aikavyöhyke on luvussa
IANA-nimet lisätään näytössä, niitä ei tallenneta timestampiin.

Moniselitteiset päiväykset, kesäaikalauseet tai ylimääräinen ×1000
Käytä ISO-tyylistä syötettä. Älä kerro millisekuntitimestampia uudelleen.

Tarkistetut UTC-esimerkit

Nämä UTC-kellonajat laskettiin, niitä ei arvattu:

Syöte Yksikkö UTC
0 sekunnit 1970-01-01 00:00:00
1720000000 sekunnit 2024-07-03 09:46:40
1720000000000 millisekunnit 2024-07-03 09:46:40
1720000000 millisekunnit 1970-01-20 21:46:40

Yksinkertainen muunnoksen päätösopas

Jos lähde nimeää yksikön, käytä sitä. Muuten numeromäärä on vihje—tarkista sitten, että päiväys näyttää uskottavalta. Muunna sekunnit millisekunneiksi, kun API tarvitsee ms. Valitse näyttöön UTC, paikallinen tai IANA-vyöhyke. ISO 8601 sopii tallennukseen ja vaihtoon.

  • Sinulla on Unix timestamp
  • Yksikkö ilmoitettu? Käytä sitä; muuten tarkista suuruusluokka
  • Sekunteja? ×1000 jos API tarvitsee millisekunteja
  • Millisekunteja? Käytä suoraan ms-pohjaisessa APIssa
  • Näytä UTC:nä, paikallisena tai IANA-vyöhykkeenä
  • Tarvitsetko merkkijonon? ISO 8601 voi sopia
Luku on hetki. Muotoilu valitsee kellotaulun.
Timestamp on hetki, ei näyttömuoto

Timestamp yksilöi ajanhetken. UTC, paikallinen aika tai aikavyöhyke päättää vain, miten se hetki näytetään ihmiselle.

Muunna Unix timestampit selaimessa

NEXNARA Päivämäärä- ja aikamuunnin muuntaa Unix-sekunteja ja millisekunteja, näyttää UTC:n, paikallisen ajan ja ISO 8601:n, ja muuntaa IANA-aikavyöhykkeiden välillä.

Unix-tila tukee sekunteja, millisekunteja, automaattiyksikköä, nykyistä aikaa ja päivämäärästä timestampiksi. Aikavyöhyketila hakee IANA-nimiä, käyttää selaimen vyöhykettä ja soveltaa kesäajan huomioon ottavia Intl-siirroksia. Muototilassa on alueittain luettava tuloste, 12/24-tunnin näyttö ja moniselitteisten päiväysten suojaus. Päivämääräero on erillinen tila.

Muunnos käyttää selaimen Date- ja Intl-APIja. Arvot, joita Date ei voi esittää, hylätään. Automaattiyksikkö ei arvaa 11–12-numeroisia arvoja; valitse sekunnit tai millisekunnit.

Itse päivämäärän ja timestampin muunnos tapahtuu selaimessasi. Syötteitä ei lähetetä NEXNARA-palvelimelle muunnosta varten. Mainokset ja muut sivuston toiminnot käyttävät silti verkkoa.

Liitä timestamp Päivämäärä- ja aikamuunnin ja vertaa UTC:tä, paikallista aikaa ja ISO 8601:tä ennen yksikön valintaa.

FAQ

Miten muunnan Unix timestampin päivämääräksi?

Tiedä yksikkö. Sekunneille JavaScriptissä käytä new Date(n * 1000). Millisekunneille new Date(n). Muotoile sitten UTC:nä, paikallisena tai vyöhykkeenä.

Onko Unix timestamp sekunteina vai millisekunteina?

Kumpi tahansa. Noin 10 numeroa tarkoittaa usein sekunteja ja noin 13 millisekunteja, mutta se on nyrkkisääntö, ei sääntö.

Miksi timestampini näyttää vuotta 1970?

Yleensä sekuntiarvo luettiin millisekunteina. Katso Unix Timestamp sekunteina vs millisekunteina: miksi päiväys näyttää vuotta 1970.

Onko Unix timestamp aina UTC?

Epoch määritellään UTC:hen nähden, ja luku yksilöi hetken. Näyttöaikavyöhyke on erillinen. Se ei ole tallennettu ”UTC-aikavyöhykekenttä”.

Sisältääkö Unix timestamp aikavyöhykkeen?

Ei. Se ei kanna IANA-tunnistetta. Aikavyöhyke lisätään, kun hetki muotoillaan.

Miten muunnan päivämäärän Unix timestampiksi?

UTC ISO-merkkijonosta date.getTime() on millisekunteja; Math.floor(date.getTime() / 1000) on sekunteja.