Pretvarač Unix vremenske oznake
Pretvori Unix vremenske oznake u sekundama ili milisekundama u čitljive datume u lokalnom vremenu, UTC-u i ISO 8601, a svaki datum vrati u epoch vrijeme.
Vremenska oznaka → datum
- Lokalno vrijeme
- –
- UTC
- –
- ISO 8601
- –
Datum → vremenska oznaka
- Sekunde
- –
- Milisekunde
- –
Kako koristiti pretvarač Unix vremenske oznake
- Za pretvorbu vremenske oznake u datum zalijepi epoch vrijednost poput
1700000000ili1700000000000. Alat po veličini broja prepoznaje je li u sekundama ili milisekundama. - Pročitaj rezultat u svojoj Lokalno vrijeme zoni, u UTC i u formatu ISO 8601.
- Za obrnuti smjer unesi datum i vrijeme; alat vraća odgovarajuću epoch vrijednost i u Sekunde i u Milisekunde.
- Pogledaj Trenutačna vremenska oznaka pri vrhu, koja se ažurira uživo, kad god ti treba „sada“ kao epoch vrijednost.
Što je Unix vremenska oznaka?
Unix vremenska oznaka (timestamp), zvana i epoch vrijeme ili POSIX vrijeme, broj je sekundi proteklih od Unix epohe: 1. siječnja 1970. u 00:00:00 UTC. Na primjer, 1700000000 odgovara 14. studenome 2023. u 22:13:20 UTC. Datumi prije 1970. prikazuju se negativnim brojevima.
Vremenske oznake omiljene su među programerima jer su jedan broj koji ne ovisi o vremenskim zonama, ljetnom računanju vremena ni formatima datuma. Usporedba dvaju trenutaka je jednostavno oduzimanje, a sortiranje po vremenu jednostavno numeričko sortiranje. Naći ćeš ih u bazama podataka, datotekama dnevnika, odgovorima API-ja, JWT tvrdnjama poput exp i iat, metapodacima datoteka i planerima nalik cronu.
Imaj na umu da Unix vrijeme ignorira prijestupne sekunde: svaki dan broji točno 86 400 sekundi. To održava aritmetiku jednostavnom i zato vremenska oznaka nije strogo brojanje svake fizičke sekunde od 1970.
Sekunde ili milisekunde
Najčešći izvor zabune je jedinica. Tradicionalni Unix sustavi, PHP, Pythonov time.time() i većina baza podataka koriste sekunde, što danas daje 10-znamenkasti broj. JavaScriptov Date.now(), Javin System.currentTimeMillis() i mnogi JSON API-ji koriste milisekunde, što daje 13-znamenkasti broj. Ako milisekunde protumačiš kao sekunde, završiš desetke tisuća godina u budućnosti; ako sekunde protumačiš kao milisekunde, završiš u siječnju 1970. Alat gleda veličinu broja da automatski odabere pravu jedinicu, a pri pretvorbi datuma prikazuje obje vrijednosti da kopiraš onu koju tvoj sustav očekuje.
Lokalno vrijeme, UTC i ISO 8601
Vremenska oznaka određuje jedan točan trenutak, ali se taj trenutak prikazuje različito ovisno o vremenskoj zoni. Lokalni rezultat koristi vremensku zonu postavljenu na tvom uređaju, a UTC je univerzalna referenca koju koriste poslužitelji i dnevnici. ISO 8601, na primjer 2023-11-14T22:13:20.000Z, nedvosmislen je tekstualni format preporučen za razmjenu datuma među sustavima; završno Z znači UTC.
Problem godine 2038.
Mnogi stariji sustavi pohranjuju Unix vrijeme kao 32-bitni cijeli broj s predznakom, čija je najveća vrijednost 2 147 483 647. Ta se granica dostiže 19. siječnja 2038. u 03:14:07 UTC. Sekundu kasnije takav brojač preljeva u veliki negativan broj i čita se kao datum u prosincu 1901. Moderni operacijski sustavi, baze podataka i jezici uglavnom su prešli na 64-bitne vremenske vrijednosti, koje granicu guraju milijardama godina u budućnost, ali ugrađeni uređaji, naslijeđeni formati datoteka i stari stupci baza podataka i dalje mogu biti pogođeni. Sam JavaScript nije pogođen jer pohranjuje vrijeme kao milisekunde u 64-bitnom broju s pomičnim zarezom.
Privatnost
Sve se pretvorbe odvijaju u tvom pregledniku pomoću njegovih ugrađenih funkcija za datume. Nijedna vremenska oznaka ni datum ne šalju se na poslužitelj.
Česta pitanja
Kako znam je li moja vremenska oznaka u sekundama ili milisekundama?
Prebroji znamenke. Trenutačni datum ima 10 znamenki u sekundama i 13 znamenki u milisekundama. Alat automatski primjenjuje istu logiku, na temelju veličine broja.
Zašto se lokalno vrijeme razlikuje od UTC-a?
Oboje opisuju isti trenutak. Lokalno vrijeme primjenjuje pomak vremenske zone tvog uređaja i pravila ljetnog računanja vremena, dok UTC nema pomak. Ako vrijeme dijeliš s ljudima drugdje, UTC ili ISO 8601 izbjegavaju nesporazume.
Može li Unix vremenska oznaka biti negativna?
Da. Negativne vrijednosti predstavljaju trenutke prije 1. siječnja 1970. UTC. Na primjer, -86400 je 31. prosinca 1969. u 00:00:00 UTC.
Sadrži li Unix vremenska oznaka vremensku zonu?
Ne. Vremenska oznaka uvijek je relativna prema UTC-u i ne nosi informaciju o vremenskoj zoni. Zona je važna tek kad je prikazuješ kao kalendarski datum i vrijeme.
Hoće li se moji sustavi pokvariti 2038.?
Samo ako pohranjuju vrijeme u 32-bitnom cijelom broju s predznakom. Provjeri starije baze podataka, ugrađeni firmver i binarne formate datoteka. Sve što koristi 64-bitno vrijeme sigurno je u doglednoj budućnosti.
Slični alati
- UUID generator Besplatni UUID generator za verzije 4 i 7. Izradi do 1000 odjednom, velikim slovima ili bez crtica, zatim kopiraj ili preuzmi kao .txt datoteku.
- JSON formater i validator Besplatni JSON formater i validator koji uljepšava, minificira i provjerava JSON u pregledniku, a sintaksne greške prijavljuje s retkom i stupcem.