Epoch-tidskonverterer
Konverter Unix-tidsstempler til UTC-datoer eller gjør en dato om til epoch-sekunder.
Slik bruker du denne epoch-tidskonvertereren
- Velg konverteringsmodus
Velg Epoch til dato eller Dato til epoch i feltet for konverteringsmodus.
- For epoch til dato
Skriv inn Unix-tidsstempelet i sekunder i feltet Epoch-tidsstempel (sekunder).
- For dato til epoch
Velg datoen i Kalenderdato, og angi deretter time (UTC), minutt (UTC) og sekund (UTC) etter behov.
- Les resultatet
Kalkulatoren viser UTC-verdien, Unix-millisekunder og ukedag.
Slik fungerer denne epoch-tidskonvertereren
Denne epoch-tidskonvertereren oversetter mellom Unix-tidsstempler og lesbare UTC-datoer. Unix-tid – også kalt POSIX-tid eller epoch-tid – teller antall sekunder som har gått siden Unix-epoch, definert som midnatt UTC den 1. januar 1970 (1970-01-01T00:00:00Z). Denne representasjonen med ett enkelt heltall er de facto-standarden for lagring og overføring av tidsstempler i databaser, API-er, loggfiler, JWT-tokens og nesten alle moderne programmeringsspråk. Konvertereren håndterer begge retninger: ved å skrive inn et numerisk tidsstempel får du tilsvarende UTC-dato, ukedag og millisekunder, mens ved å skrive inn en kalenderdato og klokkeslett får du epoch-verdien i sekunder og millisekunder.
Unix-tid = sekunder forløpt siden 1970-01-01T00:00:00Z For å konvertere Unix-tidsstempelet 1 700 000 000 til en dato: start fra 1970-01-01 00:00:00 UTC, og legg til 1 700 000 000 sekunder. Dette tilsvarer 19 675 dager, 17 timer, 46 minutter og 40 sekunder. Den resulterende UTC-datoen er 2023-11-14 kl. 22:13:20 UTC, som faller på en tirsdag. Millisekund-ekvivalenten er 1 700 000 000 000. Omvendt vil inntasting av 14. november 2023 kl. 22:13:20 UTC gi en epoch-verdi på nøyaktig 1 700 000 000.
Tidsstempel 0 konverteres til 1970-01-01 00:00:00 UTC (torsdag). Millisekund-ekvivalenten er 0.
Tidsstempel 1 704 000 000 konverteres til 2023-12-31 12:00:00 UTC (søndag). Ved å skrive inn den datoen og klokkeslettet i modusen Dato til epoke, returneres 1 704 000 000.
- ✓ Alle beregninger er i UTC. Konvertering til lokal tid krever at man legger til riktig tidssoneforskyvning etter konverteringen.
- ✓ Skuddsekunder telles ikke. I likhet med POSIX behandler denne konverteren hver dag som nøyaktig 86 400 sekunder, noe som samsvarer med oppførselen til de fleste programmeringsspråk og operativsystemer.
- ✓ Negative tidsstempler representerer datoer før epoken (1. januar 1970). For eksempel tilsvarer −86400 den 31. desember 1969.
- ✓ Tidsstempler i millisekunder bør deles på 1 000 før inntasting; konverteren godtar sekunder som inndata og viser tilsvarende verdi i millisekunder i resultatene.
- JavaScripts Date.now() og Javas System.currentTimeMillis() returnerer millisekunder, ikke sekunder — divider med 1 000 før du skriver inn verdien her, eller bruk millisekund-utdataen for sammenligning.
- År 2038-problemet påvirker 32-biters fortegnsbestemte heltallstidsstempler, som vil flyte over den 19. januar 2038 kl. 03:14:07 UTC. De fleste moderne systemer har migrert til 64-biters tidsstempler.
- Når du feilsøker API-responser eller loggfiler, vær oppmerksom på tidsstempler som ser ut til å avvike med nøyaktig 3 600 eller 7 200 sekunder — dette indikerer vanligvis at et tidssoneavvik ble lagt til (eller utelatt) et sted i prosessen.
- Epoch-tid er alltid monotont økende (hvis man ser bort fra skuddsekund-justeringer), noe som gjør den ideell for sortering av hendelser, beregning av varighet og generering av unike tidsbaserte identifikatorer.
- IEEE Std 1003.1 (POSIX) — definisjon av sekunder siden epoch
- Unix epoch-opprinnelse — Dokumentasjon fra The Unix Heritage Society og Bell Labs
- RFC 3339 — Dato og tid på internett: Tidsstempler
Hva er Unix-tidsstempler?
Et Unix-tidsstempel er antall sekunder som har gått siden midnatt UTC den 1. januar 1970 – Unix-epoken. Dette heltallet er de facto-standarden for å representere tid i databaser, API-er, loggfiler og de fleste programmeringsspråk. Fordi det er tidssoneuavhengig og monotont økende, forenkler det sortering, beregning av varighet og tidsbaserte sammenligninger. JavaScripts Date.now() og mange API-er returnerer millisekunder (1 000 × sekunder), så divider med 1 000 før du skriver inn en millisekundverdi her. Negative tidsstempler representerer datoer før 1970; for eksempel er −86400 nøyaktig én dag før epoken.
Bruksområder for epoketid for utviklere
Utviklere bruker Unix-tidsstempler når de lagrer hendelsestidspunkter i databaser, serialiserer datoer i JSON-API-er, genererer tidsbaserte hurtigbuffernøkler og feilsøker loggoppføringer. Databasekolonner lagrer ofte tidsstempler som heltall for effektiv indeksering og områdespørringer. API-responser returnerer ofte epokesekunder eller millisekunder for å unngå tidssoneuklarhet. Ved feilsøking vil konvertering av et rått tidsstempel fra en logg eller et JWT-krav til en menneskelig lesbar dato raskt avsløre om verdien er korrekt eller forskjøvet av en tidssonefaktor. Epoketid brukes også til hastighetsbegrensning, sesjonsutløp og generering av sorterbare unike identifikatorer i distribuerte systemer.
Ofte stilte spørsmål om epoch-tidskonvertering
Hva er Unix-epoch?
Unix-epoch er referansepunktet som Unix-tid måles fra: midnatt UTC den 1. januar 1970 (1970-01-01T00:00:00Z). Et tidsstempel på 0 tilsvarer nøyaktig dette øyeblikket.
Hvorfor har mitt JavaScript-tidsstempel flere sifre?
JavaScripts Date.now() returnerer millisekunder siden epoken, ikke sekunder. Divider med 1 000 for å konvertere til det sekundbaserte formatet som brukes av dette verktøyet, eller sammenlign direkte med millisekund-resultatet.
Kan jeg skrive inn et negativt tidsstempel?
Ja. Negative verdier representerer datoer før epoken. For eksempel tilsvarer −86400 1969-12-31T00:00:00Z, nøyaktig én dag før epoken.
Håndterer denne skuddsekunder?
Nei, og dette samsvarer med POSIX-standarden. POSIX-tid antar at hver dag er nøyaktig 86 400 sekunder. De 27 skuddsekundene som er satt inn siden 1972 er ikke individuelt representert, noe som betyr at UTC og Unix-tid kan avvike med opptil ett sekund ved skuddsekund-overganger.
Hva er år 2038-problemet?
Systemer som lagrer Unix-tid som et 32-biters heltall med fortegn vil få et overflyt den 19. januar 2038 kl. 03:14:07 UTC. Dette vil føre til at tallet hopper til et stort negativt tall og produserer datoer i 1901. De fleste moderne plattformer bruker nå 64-biters tidsstempler, som ikke vil få overflyt på over 290 milliarder år.