Utilia

Unix-tidsstempel til dato

Gjør Unix-tidsstempler i sekunder eller millisekunder om til lesbare datoer i lokal tid, UTC og ISO 8601, og gjør hvilken som helst dato om til epoch-tid igjen.

Gjeldende tidsstempel
–

Tidsstempel → dato

Lokal tid
–
UTC
–
ISO 8601
–

Dato → tidsstempel

Sekunder
–
Millisekunder
–

Slik bruker du Unix-tidsstempelkonvertereren

  1. For å konvertere et tidsstempel til en dato limer du inn en epoch-verdi som 1700000000 eller 1700000000000. Verktøyet registrerer ut fra størrelsen om verdien er i sekunder eller millisekunder.
  2. Les resultatet i Lokal tid, i UTC og i formatet ISO 8601.
  3. For å gå andre veien skriver du inn en dato og et klokkeslett. Verktøyet gir deg den tilsvarende epoch-verdien i både Sekunder og Millisekunder.
  4. Se på Gjeldende tidsstempel øverst, som oppdateres live, når du trenger «nå» som epoch-verdi.

Hva er et Unix-tidsstempel?

Et Unix-tidsstempel, også kalt epoch-tid eller POSIX-tid, er antall sekunder som har gått siden Unix-epoken: 1. januar 1970 kl. 00:00:00 UTC. For eksempel tilsvarer 1700000000 14. november 2023 kl. 22:13:20 UTC. Datoer før 1970 representeres med negative tall.

Tidsstempler er populære blant utviklere fordi de er ett enkelt tall som ikke avhenger av tidssoner, sommertid eller datoformater. Å sammenligne to tidspunkter er en enkel subtraksjon, og å sortere etter tid er en enkel numerisk sortering. Du finner dem i databaser, loggfiler, API-svar, JWT-felter som exp og iat, filmetadata og cron-lignende planleggere.

Merk at Unix-tid ser bort fra skuddsekunder: hvert døgn teller som nøyaktig 86 400 sekunder. Det holder regnestykkene enkle, og det er grunnen til at et tidsstempel ikke er en nøyaktig telling av hvert fysiske sekund siden 1970.

Sekunder eller millisekunder

Den hyppigste kilden til forvirring er enheten. Tradisjonelle Unix-systemer, PHP, Pythons time.time() og de fleste databaser bruker sekunder, som i dag gir et tall med 10 sifre. JavaScripts Date.now(), Javas System.currentTimeMillis() og mange JSON-API-er bruker millisekunder, som gir et tall med 13 sifre. Tolker du millisekunder som sekunder, havner du titusener av år fram i tid. Tolker du sekunder som millisekunder, havner du i januar 1970. Dette verktøyet ser på størrelsen på tallet for å velge riktig enhet automatisk, og når du konverterer en dato, viser det begge verdiene, så du kan kopiere den systemet ditt forventer.

Lokal tid, UTC og ISO 8601

Et tidsstempel identifiserer ett nøyaktig tidspunkt, men tidspunktet vises ulikt avhengig av tidssonen. Det lokale resultatet bruker tidssonen som er satt på enheten din, mens UTC er den universelle referansen servere og logger bruker. ISO 8601, som 2023-11-14T22:13:20.000Z, er det entydige tekstformatet som anbefales for å utveksle datoer mellom systemer. Den avsluttende Z betyr UTC.

År 2038-problemet

Mange eldre systemer lagrer Unix-tid som et 32-biters heltall med fortegn, som har en maksimumsverdi på 2 147 483 647. Den grensen nås 19. januar 2038 kl. 03:14:07 UTC. Ett sekund senere går en slik teller over til et stort negativt tall og leses som en dato i desember 1901. Moderne operativsystemer, databaser og språk har stort sett gått over til 64-biters tidsverdier, som skyver grensen milliarder av år inn i framtiden, men innebygde enheter, eldre filformater og gamle databasekolonner kan fortsatt bli berørt. JavaScript selv er ikke berørt, fordi det lagrer tid som millisekunder i et 64-biters flyttall.

Personvern

Alle konverteringer skjer i nettleseren din med nettleserens innebygde datofunksjoner. Ingen tidsstempler eller datoer sendes til en server.

Ofte stilte spørsmål

Hvordan vet jeg om tidsstempelet mitt er i sekunder eller millisekunder?

Tell sifrene. En dagsaktuell dato har 10 sifre i sekunder og 13 sifre i millisekunder. Verktøyet bruker den samme logikken automatisk, basert på størrelsen på tallet.

Hvorfor er lokal tid forskjellig fra UTC?

Begge beskriver samme tidspunkt. Lokal tid bruker forskyvningen og sommertidsreglene for enhetens tidssone, mens UTC ikke har noen forskyvning. Hvis du deler et klokkeslett med folk andre steder, unngår du misforståelser med UTC eller ISO 8601.

Kan et Unix-tidsstempel være negativt?

Ja. Negative verdier representerer tidspunkter før 1. januar 1970 UTC. For eksempel er -86400 31. desember 1969 kl. 00:00:00 UTC.

Inneholder et Unix-tidsstempel en tidssone?

Nei. Et tidsstempel er alltid relativt til UTC og har ingen tidssoneinformasjon. Tidssonen betyr bare noe når du viser det som en kalenderdato og et klokkeslett.

Kommer systemene mine til å slutte å virke i 2038?

Bare hvis de lagrer tid i et 32-biters heltall med fortegn. Sjekk eldre databaser, innebygd fastvare og binære filformater. Alt som bruker 64-biters tid, er trygt i overskuelig framtid.