Pretvarač Epoch vremena
Pretvorite Unix vremenske oznake u UTC datume ili pretvorite datum u epoch sekunde.
Kako koristiti ovaj pretvarač epoch vremena
- Odaberite način pretvorbe
Odaberite "Epoch u datum" ili "Datum u epoch" u polju Način pretvorbe.
- Za epoch u datum
Unesite Unix vremensku oznaku u sekundama u polje Epoch vremenska oznaka (sekunde).
- Za datum u epoch
Odaberite datum u kalendaru, zatim postavite Sat (UTC), Minutu (UTC) i Sekundu (UTC) prema potrebi.
- Pročitajte rezultat
Kalkulator prikazuje UTC vrijednost, Unix milisekunde i dan u tjednu.
Kako radi ovaj pretvarač epoch vremena
Ovaj pretvarač epoch vremena prevodi između Unix vremenskih oznaka i ljudima čitljivih UTC datuma. Unix vrijeme — također nazvano POSIX vrijeme ili epoch vrijeme — broji sekunde koje su protekle od Unix epohe, definirane kao ponoć UTC 1. siječnja 1970. (1970-01-01T00:00:00Z). Ovaj prikaz jednim cijelim brojem de facto je standard za pohranu i prijenos vremenskih oznaka u bazama podataka, API-jima, log datotekama, JWT tokenima i gotovo svakom modernom programskom jeziku. Pretvarač radi u oba smjera: unosom numeričke vremenske oznake dobivate odgovarajući UTC datum, dan u tjednu i ekvivalent u milisekundama, dok unosom kalendarskog datuma i vremena dobivate epoch vrijednost u sekundama i milisekundama.
Unix vrijeme = sekunde protekle od 1970-01-01T00:00:00Z Za pretvaranje Unix vremenske oznake 1.700.000.000 u datum: počevši od 1970-01-01 00:00:00 UTC, dodajte 1.700.000.000 sekundi. To iznosi 19.675 dana, 17 sati, 46 minuta i 40 sekundi. Rezultirajući UTC datum je 14. studenoga 2023. u 22:13:20 UTC, što pada na utorak. Ekvivalent u milisekundama je 1.700.000.000.000. Obrnuto, unos 14. studenoga 2023. u 22:13:20 UTC vraća epoch vrijednost od točno 1.700.000.000.
Vremenska oznaka 0 pretvara se u 1970-01-01 00:00:00 UTC (četvrtak). Ekvivalent u milisekundama je 0.
Vremenska oznaka 1.704.000.000 pretvara se u 2023-12-31 12:00:00 UTC (nedjelja). Unos tog datuma i vremena u načinu rada 'Datum u epohu' vraća 1.704.000.000.
- ✓ Svi izračuni su u UTC-u. Pretvorbe u lokalno vrijeme zahtijevaju primjenu odgovarajućeg pomaka vremenske zone nakon pretvorbe.
- ✓ Prijestupne sekunde se ne broje. Poput POSIX-a, ovaj pretvarač tretira svaki dan kao točno 86.400 sekundi, što odgovara ponašanju većine programskih jezika i operacijskih sustava.
- ✓ Negativni vremenski žigovi predstavljaju datume prije epohe (1. siječnja 1970.). Na primjer, −86400 odgovara 31. prosincu 1969.
- ✓ Vremenske žigove u milisekundama treba podijeliti s 1.000 prije unosa; pretvarač prihvaća sekunde kao unos i prikazuje ekvivalent u milisekundama u rezultatima.
- JavaScriptov Date.now() i Javin System.currentTimeMillis() vraćaju milisekunde, a ne sekunde — podijelite s 1.000 prije unosa vrijednosti ovdje ili koristite izlaz u milisekundama za usporedbu.
- Problem 2038. godine utječe na 32-bitne vremenske oznake s predznakom, koje će se preliti 19. siječnja 2038. u 03:14:07 UTC. Većina modernih sustava prešla je na 64-bitne vremenske oznake.
- Prilikom otklanjanja pogrešaka u API odgovorima ili zapisnicima, pripazite na vremenske oznake koje odstupaju za točno 3.600 ili 7.200 sekundi — to obično ukazuje na to da je pomak vremenske zone primijenjen (ili izostavljen) negdje u procesu.
- Epoch vrijeme je uvijek monotonu rastuće (zanemarujući prilagodbe prijestupnih sekundi), što ga čini idealnim za sortiranje događaja, izračunavanje trajanja i generiranje jedinstvenih identifikatora temeljenih na vremenu.
- IEEE Std 1003.1 (POSIX) — definicija sekundi od epohe
- Podrijetlo Unix epohe — dokumentacija The Unix Heritage Society i Bell Labs
- RFC 3339 — Datum i vrijeme na internetu: Vremenske oznake
Što su Unix vremenske oznake?
Unix vremenska oznaka je broj sekundi proteklih od ponoći UTC 1. siječnja 1970. — Unix epohe. Ovaj cijeli broj je de-facto standard za prikazivanje vremena u bazama podataka, API-jima, zapisnicima i većini programskih jezika. Budući da je neovisan o vremenskim zonama i monotono raste, pojednostavljuje sortiranje, izračune trajanja i usporedbe vremena. JavaScriptov Date.now() i mnogi API-ji vraćaju milisekunde (1.000 × sekundi), pa podijelite s 1.000 prije unosa vrijednosti milisekundi ovdje. Negativne vremenske oznake predstavljaju datume prije 1970.; na primjer, −86400 je točno jedan dan prije epohe.
Slučajevi upotrebe epohe za programere
Programeri koriste Unix vremenske oznake pri pohranjivanju vremena događaja u baze podataka, serijalizaciji datuma u JSON API-jima, generiranju ključeva predmemorije temeljenih na vremenu i otklanjanju pogrešaka u zapisnicima. Stupci baze podataka često pohranjuju vremenske oznake kao cijele brojeve radi učinkovitog indeksiranja i upita raspona. API odgovori često vraćaju sekunde ili milisekunde epohe kako bi se izbjegla dvosmislenost vremenskih zona. Prilikom otklanjanja pogrešaka, pretvaranje sirove vremenske oznake iz zapisnika ili JWT zahtjeva u datum čitljiv ljudima brzo otkriva je li vrijednost točna ili odstupila zbog vremenske zone. Vrijeme epohe također se koristi za ograničavanje brzine, istek sesije i generiranje sortiranih jedinstvenih identifikatora u distribuiranim sustavima.
Često postavljana pitanja o pretvaraču epoch vremena
Što je Unix epoha?
Unix epoha je referentna točka od koje se mjeri Unix vrijeme: ponoć UTC 1. siječnja 1970. (1970-01-01T00:00:00Z). Vremenska oznaka 0 odgovara tom točnom trenutku.
Zašto moja JavaScript vremenska oznaka ima više znamenki?
JavaScriptov Date.now() vraća milisekunde od epohe, a ne sekunde. Podijelite s 1.000 kako biste pretvorili u format temeljen na sekundama koji koristi ovaj alat ili izravno usporedite s izlazom u milisekundama.
Mogu li unijeti negativnu vremensku oznaku?
Da. Negativne vrijednosti predstavljaju datume prije epohe. Na primjer, −86400 odgovara 1969-12-31T00:00:00Z, točno jedan dan prije epohe.
Obrađuje li ovo prijestupne sekunde?
Ne, i to je u skladu s POSIX standardom. POSIX vrijeme pretpostavlja da svaki dan traje točno 86.400 sekundi. 27 prijestupnih sekundi umetnutih od 1972. nisu pojedinačno predstavljene, što znači da se UTC i Unix vrijeme mogu razlikovati do jedne sekunde na granicama prijestupnih sekundi.
Što je problem godine 2038.?
Sustavi koji pohranjuju Unix vrijeme kao 32-bitni označeni cijeli broj doživjet će preljev 19. siječnja 2038. u 03:14:07 UTC, prelazeći u veliki negativni broj i prikazujući datume u 1901. godini. Većina modernih platformi sada koristi 64-bitne vremenske oznake, koje neće doživjeti preljev više od 290 milijardi godina.