Unix timestamp pretvarač
Pretvori Unix timestamp u sekundama ili milisekundama u čitljiv datum u lokalnom vremenu, UTC i ISO 8601, i pretvori bilo koji datum nazad u epoch vreme.
Timestamp → datum
- Lokalno vreme
- –
- UTC
- –
- ISO 8601
- –
Datum → timestamp
- Sekunde
- –
- Milisekunde
- –
Kako se koristi Unix timestamp pretvarač
- Da pretvoriš timestamp u datum, nalepi epoch vrednost kao
1700000000ili1700000000000. Alat po veličini broja prepoznaje da li je u sekundama ili milisekundama. - Pročitaj rezultat u lokalnom vremenu, u UTC i u formatu ISO 8601.
- Za obrnut smer unesi datum i vreme; alat vraća odgovarajuću epoch vrednost i u sekundama i u milisekundama.
- Pogledaj trenutni timestamp na vrhu, koji se ažurira uživo, kad god ti treba „sada“ kao epoch vrednost.
Šta je Unix timestamp?
Unix timestamp, zvan i epoch vreme ili POSIX vreme, je broj sekundi proteklih od Unix epohe: 1. januara 1970. u 00:00:00 UTC. Na primer, 1700000000 odgovara 14. novembru 2023. u 22:13:20 UTC. Datumi pre 1970. predstavljaju se negativnim brojevima.
Timestampovi su omiljeni među programerima jer su to jedan broj koji ne zavisi od vremenskih zona, letnjeg računanja vremena ni formata datuma. Poređenje dva trenutka je prosto oduzimanje, a sortiranje po vremenu je prosto numeričko sortiranje. Naći ćeš ih u bazama podataka, log fajlovima, odgovorima API-ja, JWT poljima kao exp i iat, metapodacima fajlova i planerima zadataka nalik cron-u.
Imaj na umu da Unix vreme ignoriše prestupne sekunde: svaki dan se računa kao tačno 86.400 sekundi. To čini aritmetiku jednostavnom i zato timestamp nije stroga računica svake fizičke sekunde od 1970.
Sekunde ili milisekunde
Najčešći izvor zabune je jedinica. Tradicionalni Unix sistemi, PHP, Python-ov time.time() i većina baza podataka koriste sekunde, što danas daje 10-cifren broj. JavaScript-ov Date.now(), Javin System.currentTimeMillis() i mnogi JSON API-ji koriste milisekunde, što daje 13-cifren broj. Ako milisekunde protumačiš kao sekunde, završiš desetinama hiljada godina u budućnosti; ako sekunde protumačiš kao milisekunde, završiš u januaru 1970. Ovaj alat gleda veličinu broja da bi automatski izabrao pravu jedinicu, a pri pretvaranju datuma prikazuje obe vrednosti da kopiraš onu koju tvoj sistem očekuje.
Lokalno vreme, UTC i ISO 8601
Timestamp označava jedan precizan trenutak, ali se taj trenutak prikazuje drugačije u zavisnosti od vremenske zone. Lokalni rezultat koristi vremensku zonu podešenu na tvom uređaju, dok je UTC univerzalna referenca koju koriste serveri i logovi. ISO 8601, kao 2023-11-14T22:13:20.000Z, je nedvosmislen tekstualni format koji se preporučuje za razmenu datuma između sistema; završno Z znači UTC.
Problem godine 2038.
Mnogi stariji sistemi čuvaju Unix vreme kao 32-bitni ceo broj sa predznakom, čija je najveća vrednost 2.147.483.647. Ta granica se dostiže 19. januara 2038. u 03:14:07 UTC. Sekundu kasnije takav brojač preliva u veliki negativan broj i čita se kao datum u decembru 1901. Savremeni operativni sistemi, baze i jezici uglavnom su prešli na 64-bitne vrednosti vremena, koje granicu guraju milijardama godina u budućnost, ali ugrađeni uređaji, nasleđeni formati fajlova i stare kolone u bazama još mogu biti pogođeni. Sam JavaScript nije pogođen, jer čuva vreme kao milisekunde u 64-bitnom broju u pokretnom zarezu.
Privatnost
Sva pretvaranja se obavljaju u tvom pregledaču pomoću njegovih ugrađenih funkcija za datum. Nijedan timestamp ni datum se ne šalje na server.
Česta pitanja
Kako da znam da li je moj timestamp u sekundama ili milisekundama?
Prebroj cifre. Današnji datum ima 10 cifara u sekundama i 13 cifara u milisekundama. Alat automatski primenjuje istu logiku, na osnovu veličine broja.
Zašto se lokalno vreme razlikuje od UTC-a?
Oba opisuju isti trenutak. Lokalno vreme primenjuje pomak vremenske zone tvog uređaja i pravila letnjeg računanja vremena, dok UTC nema pomak. Ako deliš vreme sa ljudima drugde, UTC ili ISO 8601 izbegava nesporazume.
Može li Unix timestamp da bude negativan?
Da. Negativne vrednosti predstavljaju trenutke pre 1. januara 1970. UTC. Na primer, -86400 je 31. decembar 1969. u 00:00:00 UTC.
Da li Unix timestamp sadrži vremensku zonu?
Ne. Timestamp je uvek u odnosu na UTC i ne nosi podatak o vremenskoj zoni. Vremenska zona je bitna tek kada ga prikažeš kao kalendarski datum i vreme.
Hoće li se moji sistemi pokvariti 2038?
Samo ako čuvaju vreme u 32-bitnom celom broju sa predznakom. Proveri starije baze podataka, ugrađeni firmver i binarne formate fajlova. Sve što koristi 64-bitno vreme bezbedno je u doglednoj budućnosti.
Srodni alati
- UUID generator Besplatan UUID generator za UUID verzije 4 i 7. Napravi do 1.000 odjednom, velikim slovima ili bez crtica, pa kopiraj ili preuzmi kao .txt.
- JSON formater i validator Besplatan JSON formater i validator koji sređuje, minifikuje i proverava JSON u pregledaču, sa sintaksnim greškama prijavljenim po redu i koloni.