Tech Help

Pretvorba Unix Timestampa u datum: sekunde, milisekunde i UTC

Pretvorite Unix timestamp u datum. Usporedite sekunde i milisekunde, UTC i lokalno vrijeme, ISO 8601 te povratak od datuma do epoch vremena.

Brzi odgovor

Unix timestamp izražava vrijeme relativno prema Unix epoch: 1970-01-01 00:00:00 UTC. Najčešće se sprema kao sekunde od epoch ili kao milisekunde od epoch.

Ispravna pretvorba zahtijeva da prvo znate jedinicu. 1720000000 sekundi jest 2024-07-03 09:46:40 UTC. 1720000000000 milisekundi jest isti trenutak.

Timestamp određuje trenutak. UTC, lokalno vrijeme ili IANA zona mijenjaju samo način prikaza tog trenutka.

Ovo je vodič za pretvorbu: od timestampa do datuma, od datuma do timestampa, UTC naspram lokalnog vremena i ISO 8601. Ako vrijednost iznenada postane datum iz 1970., obično su se sekunde i milisekunde zamijenile—vidi Unix Timestamp u sekundama vs milisekundama: zašto datum pokazuje 1970.

Što je Unix Timestamp?

Unix timestamp, Unix time i epoch time u pravilu znače proteklo vrijeme od 1970-01-01 00:00:00 UTC. Broj nije formatirani niz datuma s oznakom zone. Isti trenutak može se prikazati različitim satima u UTC, New Yorku, Tokiju ili Seulu. Unix timestampi nisu uvijek sekunde—milisekunde su u praksi uobičajene.

Što je Unix Epoch?

Unix epoch jest 1970-01-01 00:00:00 UTC. Timestamp 0 jest taj trenutak. Pozitivan timestamp pada nakon epoch. Neki sustavi dopuštaju negativan timestamp za vrijeme prije epoch, no podrška jezika i raspona datuma varira.

Je li moj timestamp u sekundama ili milisekundama?

1720000000 su sekunde; 1720000000000 su milisekunde; riječ je o istom trenutku. Praktična naznaka: otprilike 10 znamenki često znači sekunde, otprilike 13 često milisekunde. Broj znamenki tek je heuristika. Prošli ili budući datumi, druge jedinice ili vlastiti epoch mogu izgledati drukčije. Pretvarač datuma i vremena pretvara sa sekundama, milisekundama ili auto (≤10 znamenki kao sekunde, ≥13 kao milisekunde)—odaberite jedinicu kad je znate.

Zašto kriva jedinica daje krivi datum?

JavaScript Date očekuje milisekunde. Ako 1720000000 proslijedite kao milisekunde, dobivate 1970-01-20 21:46:40 UTC. Tretirati milisekunde kao sekunde, ili obrnuto, završava na posve drugom datumu. Za dijagnostiku oko 1970. vidi Unix Timestamp u sekundama vs milisekundama: zašto datum pokazuje 1970.

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

Kako pretvoriti Unix timestamp izražen u sekundama

Pomnožite sekunde s 1000 da dobijete milisekunde. JavaScript Date temelji se na milisekundama, stoga koristite new Date(timestamp * 1000).

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

Kako pretvoriti timestamp izražen u milisekundama

Proslijedite milisekunde izravno u Date. Nemojte milisekundni timestamp ponovno množiti sa 1000.

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

Zašto isti timestamp pokazuje drugačije satnice?

Unix timestamp je jedan trenutak. Prikaz u UTC, lokalnom vremenu ili odabranoj IANA zoni mijenja kazaljke. Za 1720000000000 UTC je 2024-07-03 09:46:40. America/New_York toga dana je 2024-07-03 05:46:40 (EDT). Asia/Seoul je 2024-07-03 18:46:40 (UTC+9). Vrijednosti za New York i Seoul dolaze iz Intl, ne iz parole o fiksnom pomaku.

Sadrži li Unix timestamp vremensku zonu?

Ne. Ne sprema ni America/New_York ni Asia/Seoul. Timestamp identificira trenutak. Zona se primjenjuje kad taj trenutak formatirate kao čitljiv datum i vrijeme. Epoch je definiran relativno prema UTC; sam broj nije „polje UTC zone“.

Unix Timestamp u odnosu na ISO 8601

1720000000 i 2024-07-03T09:46:40Z mogu predstavljati isti trenutak. Unix je numerička vrijednost proteklog vremena. ISO 8601 je čitljiv niz datuma i vremena i može završavati sa Z (UTC) ili numeričkim pomakom. Z znači UTC; ponekad se zove Zulu. Nisu isti format.

Kako dohvatiti trenutačni Unix timestamp?

U JavaScriptu Date.now() su milisekunde. Math.floor(Date.now() / 1000) su sekunde. Nemojte u članku hardkodirati „sada“; to se pomiče.

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

Može li se datum vratiti u Unix timestamp?

Da. Iz eksplicitnog UTC ISO niza getTime() vraća milisekunde; podijelite s 1000 i zaokružite naniže za sekunde.

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

Oprez s dvosmislenim formatima datuma

03/07/2024 može značiti 7. ožujka ili 3. srpnja, ovisno o locale. Preferirajte datum i vrijeme u ISO stilu sa zonom ili pomakom. Pretvarač datuma i vremena odbija dvosmislene numeričke datume poput 01/02/2026 i traži birač datuma ili vrijednost u ISO stilu.

Što je s ljetnim računanjem vremena?

Unix timestamp ne sprema zastavicu ljetnog vremena. Lokalni prikaz primjenjuje pravila zone. America/New_York zimi i ljeti koristi različite pomake, pa „New York je UTC-5“ nije uvijek točno.

Ubrajaju li Unix timestampi prijestupne sekunde?

Tipično POSIX/Unix vrijeme ne broji prijestupne sekunde kao dodatne SI sekunde na neprekidnoj skali. Platforme se mogu razlikovati. Za svakodnevnu pretvorbu taj detalj možete zanemariti.

Česte pogreške pri pretvorbi Unix timestampa

Ove zamjene daju krivi datum ili krivi sat:

Sekunde shvaćene kao milisekunde
Moderna vrijednost u sekundama tada padne blizu 1970. u JavaScript Date.

Milisekunde shvaćene kao sekunde
Datum odskače daleko u budućnost.

Tretirati 10 ili 13 znamenki kao zakon
Broj znamenki je naznaka, ne jamstvo.

Miješati UTC s lokalnim vremenom
Trenutak je isti; prikazani sat može se razlikovati.

Pretpostaviti da zona sjedi u broju
IANA imena primjenjuju se pri prikazu, ne spremaju se u timestamp.

Dvosmisleni datumi, DST-parole ili još jedno ×1000
Koristite unos u ISO stilu. Nemojte milisekundni timestamp ponovno množiti.

Provjereni UTC primjeri

Ova UTC vremena izračunata su, nisu pogođena:

Ulaz Jedinica UTC
0 sekunde 1970-01-01 00:00:00
1720000000 sekunde 2024-07-03 09:46:40
1720000000000 milisekunde 2024-07-03 09:46:40
1720000000 milisekunde 1970-01-20 21:46:40

Jednostavan vodič za odluku o pretvorbi

Ako izvor imenuje jedinicu, upotrijebite je. Inače je broj znamenki naznaka—zatim provjerite izgleda li datum uvjerljivo. Pretvorite sekunde u milisekunde kad API treba ms. Za prikaz odaberite UTC, lokalno ili IANA zonu. ISO 8601 koristan je za pohranu i razmjenu.

  • Imate Unix timestamp pri ruci
  • Jedinica navedena? Upotrijebite je; inače provjerite veličinu
  • Sekunde? Pomnožite ×1000 ako API treba milisekunde
  • Milisekunde? Koristite izravno u API-ju temeljenom na ms
  • Prikaži kao UTC, lokalno vrijeme ili IANA zonu
  • Treba niz? ISO 8601 može odgovarati
Broj je trenutak. Formatiranje bira kazaljke.
Timestamp označava trenutak, ne izgled sata

Timestamp identificira točku u vremenu. UTC, lokalno vrijeme ili zona samo odlučuju kako se taj trenutak pokazuje osobi.

Pretvorite Unix timestamp u pregledniku

NEXNARA Pretvarač datuma i vremena pretvara Unix sekunde i milisekunde, prikazuje UTC, lokalno vrijeme i ISO 8601 te pretvara među IANA zonama.

Unix način podržava sekunde, milisekunde, auto jedinicu, trenutačno vrijeme i datum-u-timestamp. Način zone pretražuje IANA imena, koristi zonu preglednika i primjenjuje Intl pomake svjesne DST. Način formata ima izlaz čitljiv po locale, prikaz 12/24 sata i zaštitu od dvosmislenog datuma. Razlika datuma zaseban je način.

Pretvorba koristi Date i Intl API preglednika. Vrijednosti izvan onoga što Date može predstaviti odbijaju se. Auto jedinica ne pogađa vrijednosti od 11–12 znamenki; odaberite sekunde ili milisekunde.

Sama pretvorba datuma i timestampa događa se u vašem pregledniku. Ulazi se ne šalju na NEXNARA poslužitelj radi pretvorbe. Oglasi i druge značajke stranice i dalje koriste mrežu.

Zalijepite timestamp u Pretvarač datuma i vremena i usporedite UTC, lokalno vrijeme i ISO 8601 prije nego što odaberete jedinicu.

FAQ

Kako pretvoriti Unix timestamp u datum?

Najprije utvrdite jedinicu. U JavaScriptu za sekunde upotrijebite new Date(n * 1000), a za milisekunde new Date(n). Nakon toga formatirajte kao UTC, lokalno ili zonu.

Je li Unix timestamp u sekundama ili milisekundama?

Može biti oboje. Otprilike 10 znamenki često znači sekunde, a otprilike 13 milisekunde, no to je heuristika, ne pravilo.

Zašto moj timestamp pokazuje 1970.?

Obično je vrijednost u sekundama pročitana kao milisekunde. Vidi Unix Timestamp u sekundama vs milisekundama: zašto datum pokazuje 1970.

Je li Unix timestamp uvijek UTC?

Epoch je definiran relativno prema UTC, a broj identificira trenutak. Zona prikaza je odvojena. To nije spremljeno „polje UTC zone“.

Sadrži li Unix timestamp vremensku zonu?

Ne. Ne nosi IANA identifikator. Zona se primjenjuje kad formatirate trenutak.

Kako pretvoriti datum u Unix timestamp?

Iz UTC ISO niza date.getTime() su milisekunde; Math.floor(date.getTime() / 1000) su sekunde.