Tech Help
Kako pretvoriti Unix Timestamp u datum: sekunde, milisekunde i UTC
Pretvorite Unix timestamp u datum. Uporedite sekunde i milisekunde, UTC i lokalno vrijeme, ISO 8601 te povratak od datuma do epoch vremena.
Unix timestamp predstavlja vrijeme u odnosu na Unix epoch: 1970-01-01 00:00:00 UTC. Najčešće se čuva kao sekunde od epoch ili kao milisekunde od epoch.
Za ispravnu pretvorbu prvo morate znati jedinicu. 1720000000 sekundi jeste 2024-07-03 09:46:40 UTC. 1720000000000 milisekundi jeste isti trenutak.
Timestamp označava trenutak. UTC, lokalno vrijeme ili IANA zona mijenjaju samo kako se taj trenutak prikazuje.
Ovo je vodič za pretvorbu: timestamp u datum, datum u timestamp, UTC naspram lokalnog i ISO 8601. Ako vrijednost iznenada postane datum iz 1970, obično su sekunde i milisekunde pomiješane—pogledajte Unix Timestamp u sekundama vs milisekundama: zašto datum pokazuje 1970.
Šta Unix Timestamp zapravo jeste?
Unix timestamp, Unix time i epoch time obično znače proteklo vrijeme od 1970-01-01 00:00:00 UTC. Broj nije formatirani datumski niz 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.
Unix Epoch — šta označava nula?
Unix epoch jeste 1970-01-01 00:00:00 UTC. Timestamp 0 jeste taj trenutak. Pozitivan timestamp je poslije epoch. Neki sistemi dozvoljavaju negativan timestamp za vrijeme prije epoch, ali podrška jezika i raspona datuma varira.
Kako znati jesu li u pitanju sekunde ili milisekunde?
1720000000 su sekunde; 1720000000000 su milisekunde; to je isti trenutak. Praktična naznaka: oko 10 cifara često znači sekunde, oko 13 često milisekunde. Broj cifara je samo heuristika. Prošli ili budući datumi, druge jedinice ili vlastiti epoch mogu izgledati drugačije. Pretvarač datuma i vremena pretvara sa sekundama, milisekundama ili auto (≤10 cifara kao sekunde, ≥13 kao milisekunde)—izaberite jedinicu kad je znate.
Zašto kriva jedinica vodi na krivi datum?
JavaScript Date očekuje milisekunde. Ako 1720000000 predatete kao milisekunde, dobijate 1970-01-20 21:46:40 UTC. Tretirati milisekunde kao sekunde, ili obrnuto, završava na sasvim drugom datumu. Za dijagnostiku oko 1970, pogledajte Unix Timestamp u sekundama vs milisekundama: zašto datum pokazuje 1970.
new Date(1720000000);
// 1970-01-20T21:46:40.000Z
Pretvorba Unix timestampa zapisanog u sekundama
Sekunde pomnožite sa 1000 i dobijate milisekunde. Pošto je JavaScript Date milisekundni, poziv je new Date(timestamp * 1000).
const timestamp = 1720000000;
const date = new Date(timestamp * 1000);
date.toISOString();
// 2024-07-03T09:46:40.000Z
Pretvorba timestampa zapisanog u milisekundama
Milisekunde predajte Date-u bez dodatnog množenja. Drugi put ×1000 na milisekundni timestamp ne treba.
const timestamp = 1720000000000;
const date = new Date(timestamp);
date.toISOString();
// 2024-07-03T09:46:40.000Z
Isti broj, drugačiji sat — zašto?
Unix timestamp hvata jedan trenutak. Kad ga prikažete u UTC, lokalnom vremenu ili odabranoj IANA zoni, mijenja se cifernik. Za 1720000000000, UTC je 2024-07-03 09:46:40. America/New_York tog 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.
Je li vremenska zona upisana u Unix timestamp?
Nije. Unutra nema ni America/New_York ni Asia/Seoul. Broj identificira trenutak. Zonu dodajete tek kad trenutak formatirate u čitljiv datum i vrijeme. Epoch je definisan relativno prema UTC; sam broj nije „UTC polje zone“.
Razlika između Unix Timestampa i ISO 8601
I 1720000000 i 2024-07-03T09:46:40Z mogu biti isti trenutak. Unix broji proteklo vrijeme. ISO 8601 je čitljiv niz datuma i vremena, često sa Z (UTC) ili numeričkim pomakom na kraju. Z znači UTC; ponekad se zove Zulu. Formati nisu isti.
Kako uzeti Unix timestamp za sadašnji trenutak?
U JavaScriptu Date.now() daje milisekunde. Math.floor(Date.now() / 1000) daje sekunde. Fiksno „sada“ u članku nema smisla jer se pomjera.
Date.now();
Math.floor(Date.now() / 1000);
Može li se ići unazad: datum → Unix timestamp?
Može. Iz eksplicitnog UTC ISO niza getTime() vraća milisekunde; podijelite sa 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
Dvosmisleni zapisi datuma
03/07/2024 može značiti 7. mart ili 3. juli, zavisno od locale. Preferirajte datum i vrijeme u ISO stilu sa zonom ili pomakom. Pretvarač datuma i vremena odbija dvosmislene numeričke datume kao 01/02/2026 i traži birač datuma ili vrijednost u ISO stilu.
Šta je s ljetnim računanjem vremena?
Unix timestamp ne čuva 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 tačno.
Prestupne sekunde i Unix timestamp
Tipično POSIX/Unix vrijeme ne broji prestupne sekunde kao dodatne SI sekunde na neprekidnoj skali. Platforme se mogu razlikovati. Za svakodnevnu pretvorbu taj detalj možete zanemariti.
Gdje pretvorba Unix timestampa najčešće zapne
Sljedeće zamjene daju pogrešan datum ili pogrešan sat:
Sekunde pročitane kao milisekunde
Tada moderna vrijednost u sekundama padne blizu 1970 u JavaScript Date.
Milisekunde pročitane kao sekunde
Dobijeni datum odlazi daleko u budućnost.
Broj cifara shvaćen kao pravilo
Deset ili trinaest cifara je nagovještaj, ne dokaz.
UTC i lokalno vrijeme tretirani kao isto
Trenutak ostaje isti, ali sat na ekranu ne mora.
Zonu tražiti u samom broju
IANA imena se primjenjuju pri prikazu, ne čuvaju se u timestampu.
Nejasni datumi, DST parole ili još jedno ×1000
Unesite ISO-stil. Nemojte ponovo množiti milisekundni timestamp.
UTC primjeri koje možete provjeriti
Sljedeća UTC vremena su izračunata, nisu nagađana:
| 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 |
Kratak redoslijed odluke pri pretvorbi
Ako izvor imenuje jedinicu, koristite je. Ako ne, broj cifara je naznaka—zatim provjerite da datum izgleda uvjerljivo. Pretvorite sekunde u milisekunde kad API treba ms. Za prikaz izaberite UTC, lokalno ili IANA zonu. ISO 8601 je koristan za pohranu i razmjenu.
- Pred vama je Unix timestamp
- Jedinica navedena? Koristite je; inače provjerite veličinu
- Jedinica sekunde? ×1000 ako API traži milisekunde
- Već milisekunde? Predajte ih API-ju koji radi u ms
- Prikaz: UTC, lokalno vrijeme ili IANA zona
- Treba li tekstualni zapis? ISO 8601 često odgovara
Timestamp identificira tačku u vremenu. UTC, lokalno vrijeme ili zona samo odlučuju kako se taj trenutak pokazuje osobi.
Unix timestamp u pregledniku, bez slanja na server
NEXNARA Pretvarač datuma i vremena pretvara Unix sekunde i milisekunde, prikazuje UTC, lokalno vrijeme i ISO 8601, i pretvara među IANA zonama.
Unix režim podržava sekunde, milisekunde, auto jedinicu, trenutno vrijeme i datum-u-timestamp. Režim zone pretražuje IANA imena, koristi zonu preglednika i primjenjuje Intl pomake svjesne DST. Režim formata ima izlaz čitljiv po locale, prikaz 12/24 sata i zaštitu od dvosmislenog datuma. Razlika datuma je odvojen režim.
Pretvorba koristi Date i Intl API preglednika. Vrijednosti izvan onoga što Date može predstaviti se odbijaju. Auto jedinica ne pogađa vrijednosti od 11–12 cifara; izaberite sekunde ili milisekunde.
Sama pretvorba datuma i timestampa dešava se u vašem pregledniku. Ulazi se ne šalju na NEXNARA server radi pretvorbe. Reklame i druge funkcije sajta i dalje koriste mrežu.
Zalijepite timestamp u Pretvarač datuma i vremena i uporedite UTC, lokalno vrijeme i ISO 8601 prije nego što izaberete jedinicu.
FAQ
Koji je korak da Unix timestamp postane datum?
Prvo utvrdite jedinicu. U JavaScriptu za sekunde ide new Date(n * 1000), za milisekunde new Date(n). Tek onda formatirajte UTC, lokalno ili zonu.
Unix timestamp — sekunde ili milisekunde?
Može biti oboje. Oko 10 cifara često znači sekunde, a oko 13 milisekunde, ali to je heuristika, ne pravilo.
Zašto pretvorba daje 1970?
Obično je vrijednost u sekundama pročitana kao milisekunde. Pogledajte Unix Timestamp u sekundama vs milisekundama: zašto datum pokazuje 1970.
Da li je Unix timestamp uvijek UTC?
Epoch je definisan relativno prema UTC, a broj identificira trenutak. Zona prikaza je odvojena. To nije sačuvano „UTC polje zone“.
Ima li Unix timestamp ugrađenu zonu?
Nema. IANA identifikator se ne nosi u broju. Zona se dodaje kad formatirate trenutak.
Kako od datuma doći do Unix timestampa?
Kad imate UTC ISO niz, date.getTime() daje milisekunde, a Math.floor(date.getTime() / 1000) sekunde.