Epoch-tidsomregner
Konverter Unix-tidsstempler til UTC-datoer eller omdan en dato til epoch-sekunder.
Sådan bruger du denne epoch-tidskonverter
- Vælg konverteringstilstand
Vælg Epoch til dato eller Dato til epoch i feltet Konverteringstilstand.
- For epoch til dato
Indtast Unix-tidsstemplet i sekunder i feltet Epoch-tidsstempel (sekunder).
- For dato til epoch
Vælg datoen i Kalenderdato, og indstil derefter Time (UTC), Minut (UTC) og Sekund (UTC) efter behov.
- Læs resultatet
Beregneren viser UTC-værdien, Unix-millisekunder og ugedagen.
Sådan fungerer denne epoch-tidsomregner
Denne epoch-tidsomregner oversætter mellem Unix-tidsstempler og læsbare UTC-datoer. Unix-tid — også kaldet POSIX-tid eller epoch-tid — tæller antallet af sekunder, der er gået siden Unix-epoch, defineret som midnat UTC den 1. januar 1970 (1970-01-01T00:00:00Z). Denne repræsentation med et enkelt heltal er de facto-standarden for lagring og overførsel af tidsstempler i databaser, API'er, logfiler, JWT-tokens og stort set alle moderne programmeringssprog. Omregneren håndterer begge retninger: Indtastning af et numerisk tidsstempel returnerer den tilsvarende UTC-dato, ugedag og millisekund-ækvivalent, mens indtastning af en kalenderdato og et klokkeslæt returnerer epoch-værdien i sekunder og millisekunder.
Unix-tid = sekunder forløbet siden 1970-01-01T00:00:00Z For at konvertere Unix-tidsstemplet 1.700.000.000 til en dato: start fra 1970-01-01 00:00:00 UTC, og læg 1.700.000.000 sekunder til. Dette svarer til 19.675 dage, 17 timer, 46 minutter og 40 sekunder. Den resulterende UTC-dato er 2023-11-14 kl. 22:13:20 UTC, som er en tirsdag. Det tilsvarende antal millisekunder er 1.700.000.000.000. Omvendt vil indtastning af 14. november 2023 kl. 22:13:20 UTC returnere en epoch-værdi på præcis 1.700.000.000.
Tidsstempel 0 konverteres til 1970-01-01 00:00:00 UTC (torsdag). Millisekund-ækvivalenten er 0.
Tidsstempel 1.704.000.000 konverteres til 2023-12-31 12:00:00 UTC (søndag). Indtastning af den dato og det tidspunkt i 'Dato til epoke'-tilstand returnerer 1.704.000.000.
- ✓ Alle beregninger er i UTC. Konvertering til lokal tid kræver anvendelse af den relevante tidszone-offset efter konverteringen.
- ✓ Skudsekunder tælles ikke. Ligesom POSIX behandler denne konverter hver dag som præcis 86.400 sekunder, hvilket svarer til adfærden i de fleste programmeringssprog og operativsystemer.
- ✓ Negative tidsstempler repræsenterer datoer før epoken (1. januar 1970). For eksempel svarer −86400 til 31. december 1969.
- ✓ Tidsstempler i millisekunder skal divideres med 1.000 før indtastning; konverteren accepterer sekunder som input og viser det tilsvarende antal millisekunder i resultaterne.
- JavaScripts Date.now() og Javas System.currentTimeMillis() returnerer millisekunder, ikke sekunder — divider med 1.000 før værdien indtastes her, eller brug millisekund-outputtet til sammenligning.
- År 2038-problemet påvirker 32-bit signed-integer tidsstempler, som vil løbe over den 19. januar 2038 kl. 03:14:07 UTC. De fleste moderne systemer er migreret til 64-bit tidsstempler.
- Ved fejlfinding af API-svar eller logfiler skal du holde øje med tidsstempler, der ser ud til at være forskudt med præcis 3.600 eller 7.200 sekunder — dette indikerer normalt, at en tidszone-offset er blevet anvendt (eller udeladt) et sted i processen.
- Epoch-tid er altid monotont stigende (når der ses bort fra justeringer af skudsekunder), hvilket gør den ideel til sortering af hændelser, beregning af varigheder og generering af unikke tidsbaserede identifikatorer.
- IEEE Std 1003.1 (POSIX) — definition af sekunder siden epoken
- Unix-epokens oprindelse — The Unix Heritage Society og Bell Labs-dokumentation
- RFC 3339 — Dato og tid på internettet: Tidsstempler
Hvad er Unix-tidsstempler?
Et Unix-tidsstempel er antallet af sekunder, der er gået siden midnat UTC den 1. januar 1970 — Unix-epoken. Dette enkelte heltal er de facto-standarden for repræsentation af tid i databaser, API'er, logfiler og de fleste programmeringssprog. Da det er tidszone-uafhængigt og monotont stigende, forenkler det sortering, varighedsberegninger og tidsbaserede sammenligninger. JavaScripts Date.now() og mange API'er returnerer millisekunder (1.000 × sekunder), så divider med 1.000, før du indtaster en millisekundværdi her. Negative tidsstempler repræsenterer datoer før 1970; for eksempel er −86400 præcis én dag før epoken.
Udvikleres anvendelsesscenarier for epoke-tid
Udviklere bruger Unix-tidsstempler, når de gemmer hændelsestidspunkter i databaser, serialiserer datoer i JSON-API'er, genererer tidsbaserede cache-nøgler og fejlsøger logposter. Databasekolonner gemmer ofte tidsstempler som heltal for effektiv indeksering og intervalforespørgsler. API-svar returnerer ofte epoke-sekunder eller millisekunder for at undgå tidszone-tvetydighed. Ved fejlsøgning afslører konvertering af et råt tidsstempel fra en log eller et JWT-claim til en læsbar dato hurtigt, om værdien er korrekt eller forskudt af en tidszonefaktor. Epoke-tid bruges også til hastighedsbegrænsning, sessionsudløb og generering af sorterbare unikke identifikatorer i distribuerede systemer.
Ofte stillede spørgsmål om Epoch-tidskonvertering
Hvad er Unix-epoken?
Unix-epoken er referencepunktet, hvorfra Unix-tid måles: midnat UTC den 1. januar 1970 (1970-01-01T00:00:00Z). Et tidsstempel på 0 svarer til netop det øjeblik.
Hvorfor har mit JavaScript-tidsstempel flere cifre?
JavaScripts Date.now() returnerer millisekunder siden epoken, ikke sekunder. Divider med 1.000 for at konvertere til det sekundbaserede format, som dette værktøj bruger, eller sammenlign direkte med millisekund-outputtet.
Kan jeg indtaste et negativt tidsstempel?
Ja. Negative værdier repræsenterer datoer før epoken. For eksempel svarer −86400 til 1969-12-31T00:00:00Z, præcis én dag før epoken.
Håndterer dette skudsekunder?
Nej, og dette stemmer overens med POSIX-standarden. POSIX-tid antager, at hver dag er præcis 86.400 sekunder. De 27 skudsekunder, der er indsat siden 1972, er ikke individuelt repræsenteret, hvilket betyder, at UTC og Unix-tid kan afvige med op til et sekund ved skudsekund-grænser.
Hvad er år 2038-problemet?
Systemer, der gemmer Unix-tid som et 32-bit heltal med fortegn, vil løbe over den 19. januar 2038 kl. 03:14:07 UTC, hvilket vil skifte til et stort negativt tal og resultere i datoer i 1901. De fleste moderne platforme bruger nu 64-bit tidsstempler, som ikke vil løbe over i mere end 290 milliarder år.