Epoch-tidskonverterare
Konvertera Unix-tidsstämplar till UTC-datum eller omvandla ett datum till epoch-sekunder.
Så här använder du denna epoch-tidskonverterare
- Välj konverteringsläge
Välj Epoch till datum eller Datum till epoch i fältet Konverteringsläge.
- För epoch till datum
Ange Unix-tidsstämpeln i sekunder i fältet Epoch-tidsstämpel (sekunder).
- För datum till epoch
Välj datum i Kalenderdatum, ställ sedan in Timme (UTC), Minut (UTC) och Sekund (UTC) efter behov.
- Läs resultatet
Kalkylatorn visar UTC-värdet, Unix-millisekunder och veckodag.
Så fungerar denna epoch-tidskonverterare
Denna epoch-tidskonverterare översätter mellan Unix-tidsstämplar och läsbara UTC-datum. Unix-tid — även kallad POSIX-tid eller epoch-tid — räknar antalet sekunder som har förflutit sedan Unix-epoken, definierad som midnatt UTC den 1 januari 1970 (1970-01-01T00:00:00Z). Denna representation med ett enda heltal är de facto-standard för lagring och överföring av tidsstämplar i databaser, API:er, loggfiler, JWT-tokens och i princip alla moderna programmeringsspråk. Konverteraren hanterar båda riktningarna: genom att ange en numerisk tidsstämpel visas motsvarande UTC-datum, veckodag och millisekunder, medan inmatning av ett kalenderdatum och tid ger epoch-värdet i sekunder och millisekunder.
Unixtid = sekunder som förflutit sedan 1970-01-01T00:00:00Z För att omvandla Unix-tidsstämpeln 1 700 000 000 till ett datum: utgå från 1970-01-01 00:00:00 UTC och lägg till 1 700 000 000 sekunder. Detta motsvarar 19 675 dagar, 17 timmar, 46 minuter och 40 sekunder. Det resulterande UTC-datumet är 2023-11-14 kl. 22:13:20 UTC, vilket är en tisdag. Motsvarande värde i millisekunder är 1 700 000 000 000. Omvänt ger inmatning av 14 november 2023 kl. 22:13:20 UTC ett epoch-värde på exakt 1 700 000 000.
Tidsstämpel 0 konverteras till 1970-01-01 00:00:00 UTC (torsdag). Motsvarande värde i millisekunder är 0.
Tidsstämpel 1 704 000 000 konverteras till 2023-12-31 12:00:00 UTC (söndag). Om du anger det datumet och den tiden i läget Datum till epok returneras 1 704 000 000.
- ✓ Alla beräkningar sker i UTC. Konvertering till lokal tid kräver att lämplig tidszonsförskjutning tillämpas efter konverteringen.
- ✓ Skottsekunder räknas inte. Precis som POSIX behandlar denna omvandlare varje dag som exakt 86 400 sekunder, vilket motsvarar beteendet i de flesta programmeringsspråk och operativsystem.
- ✓ Negativa tidsstämplar representerar datum före epoken (1 januari 1970). Till exempel motsvarar −86400 den 31 december 1969.
- ✓ Tidsstämplar i millisekunder bör divideras med 1 000 före inmatning; omvandlaren accepterar sekunder som indata och visar motsvarande millisekunder i resultatet.
- JavaScripts Date.now() och Javas System.currentTimeMillis() returnerar millisekunder, inte sekunder – dividera med 1 000 innan du anger värdet här, eller använd millisekund-resultatet för jämförelse.
- År 2038-problemet påverkar 32-bitars tidsstämplar med tecken (signed integers), vilka kommer att spilla över den 19 januari 2038 kl. 03:14:07 UTC. De flesta moderna system har migrerat till 64-bitars tidsstämplar.
- Vid felsökning av API-svar eller loggfiler, håll utkik efter tidsstämplar som verkar diffa på exakt 3 600 eller 7 200 sekunder – detta indikerar vanligtvis att en tidszonsförskjutning har tillämpats (eller utelämnats) någonstans i kedjan.
- Epoch-tid är alltid monotont ökande (bortsett från justeringar för skottsekunder), vilket gör den idealisk för att sortera händelser, beräkna varaktigheter och generera unika tidsbaserade identifierare.
- IEEE Std 1003.1 (POSIX) — definition av sekunder sedan epoken
- Unix-epokens ursprung — Dokumentation från The Unix Heritage Society och Bell Labs
- RFC 3339 — Datum och tid på internet: Tidsstämplar
Vad är Unix-tidsstämplar?
En Unix-tidsstämpel är antalet sekunder som har förflutit sedan midnatt UTC den 1 januari 1970 — Unix-epoken. Detta heltal är de facto-standard för att representera tid i databaser, API:er, loggfiler och de flesta programmeringsspråk. Eftersom den är tidszonsneutral och monotont ökande förenklar den sortering, beräkning av varaktighet och tidsbaserade jämförelser. JavaScripts Date.now() och många API:er returnerar millisekunder (1 000 × sekunder), så dividera med 1 000 innan du anger ett millisekundvärde här. Negativa tidsstämplar representerar datum före 1970; till exempel är −86400 exakt en dag före epoken.
Användningsområden för epoktid för utvecklare
Utvecklare använder Unix-tidsstämplar när de lagrar händelsetider i databaser, serialiserar datum i JSON-API:er, genererar tidsbaserade cachenycklar och felsöker loggposter. Databaskolumner lagrar ofta tidsstämplar som heltal för effektiv indexering och intervallfrågor. API-svar returnerar ofta epoksekunder eller millisekunder för att undvika tidszonsambiguitet. Vid felsökning avslöjar konvertering av en rå tidsstämpel från en logg eller JWT-anspråk till ett läsbart datum snabbt om värdet är korrekt eller felaktigt på grund av en tidszonsfaktor. Epoktid används också för hastighetsbegränsning, sessionsutgång och generering av sorterbara unika identifierare i distribuerade system.
Vanliga frågor om konvertering av epoch-tid
Vad är Unix-epoken?
Unix-epoken är referenspunkten från vilken Unix-tid mäts: midnatt UTC den 1 januari 1970 (1970-01-01T00:00:00Z). En tidsstämpel på 0 motsvarar det exakta ögonblicket.
Varför har min JavaScript-tidsstämpel fler siffror?
JavaScripts Date.now() returnerar millisekunder sedan epoken, inte sekunder. Dividera med 1 000 för att konvertera till det sekundbaserade formatet som används av detta verktyg, eller jämför direkt med millisekund-utmatningen.
Kan jag ange en negativ tidsstämpel?
Ja. Negativa värden representerar datum före epoken. Till exempel motsvarar −86 400 1969-12-31T00:00:00Z, exakt en dag före epoken.
Hanterar detta skottsekunder?
Nej, och detta överensstämmer med POSIX-standarden. POSIX-tid förutsätter att varje dag är exakt 86 400 sekunder. De 27 skottsekunder som lagts till sedan 1972 representeras inte individuellt, vilket innebär att UTC och Unix-tid kan skilja sig med upp till en sekund vid skottsekundsgränser.
Vad är år 2038-problemet?
System som lagrar Unix-tid som ett 32-bitars signerat heltal kommer att flöda över den 19 januari 2038 kl. 03:14:07 UTC, vilket slår om till ett stort negativt tal och skapar datum i 1901. De flesta moderna plattformar använder nu 64-bitars tidsstämplar, som inte kommer att flöda över på över 290 miljarder år.