Unix tidsstempelomformer
Tidsstempel til dato
Sekunder eller millisekunder oppdages automatisk.
Dato til tidsstempel
Velg en dato og et klokkeslett for å konvertere det til et Unix-tidsstempel.
Sekunder siden Unix-epoken (00:00:00 UTC 1. januar 1970)
Sekunder eller millisekunder oppdages automatisk.
Velg en dato og et klokkeslett for å konvertere det til et Unix-tidsstempel.
Samme nåværende klokkeslett uttrykt i flere vanlige formater, oppdatert direkte:
| Format | Nåværende verdi |
|---|---|
| Unix-tidsstempel (sekunder) | — |
| Unix-tidsstempel (millisekunder) | — |
| ISO 8601 (UTC) | — |
| RFC 2822 (UTC) | — |
Unix-tid (også kjent som Epoke-tid, POSIX-tid, eller Unix-tidsstempel) er et system for å beskrive et tidspunkt. Det er antall sekunder som har gått siden Unix-epoken, som er definert som 00:00:00 UTC torsdag 1. januar 1970. Det brukes mye i Unix-lignende operativsystemer og mange andre databehandlingssystemer.
Hovedfordelen med Unix-tid er enkelheten. Den representerer tid som et enkelt, universelt forstått heltall som kontinuerlig øker. Dette gjør det utrolig enkelt å lagre, sammenligne og utføre beregninger med tidsstempler uten å bekymre seg for tidssoner, sommertid eller ulike kalender systemer. For eksempel, for å finne varigheten mellom to hendelser, trekker du bare deres Unix-tidsstempel fra hverandre.
Selv om dette råtallet er perfekt for datamaskiner, er det ikke særlig brukervennlig for mennesker. For å bygge bro over dette gapet bruker utviklere og teknologientusiaster et verktøy kalt en epokkonverter. Du kan bruke det til å konvertere hvilket som helst tidsstempel til en menneske-lesbar dato, eller gjøre det motsatte ved å finne tidsstempelet for en spesifikk dato.
Et velkjent problem relatert til Unix-tid er "År 2038-problemet." Det ligner på Y2K-problemet. Mange tidlige datasystemer var designet for å lagre Unix-tidsstempelet som et 32-bits signert heltall. Et signert 32-bits heltall kan representere verdier fra -2 147 483 648 til 2 147 483 647.
Maksimalverdien, 2 147 483 647, vil bli nådd klokken 03:14:07 UTC den 19. januar 2038. Ved neste sekund vil heltallet overskride og wrappe rundt til sin mest negative verdi, som vil bli tolket av systemer som en dato i 1901. Dette kan forårsake omfattende feil i eldre programvare som er avhengig av 32-bits tidsrepresentasjoner.
Løsningen er å bruke et 64-bits heltall for å lagre tidsstempelet. Et 64-bits heltall har en maksimal verdi så stor at det ikke vil overskride i omtrent 292 milliarder år, noe som effektivt løser problemet for overskuelig fremtid. De fleste moderne operativsystemer og programvare har allerede gått over til 64-bits tidsrepresentasjoner.
Et viktig teknisk detalj er at Unix-tid ikke tar hensyn til skuddsekunder. Mens UTC (Koordinerte Universelle Tid) av og til legger til en skuddsekund for å holde klokkene våre i samsvar med Jordens rotasjon, ignorerer Unix-tidsstempel dem og fortsetter å telle lineært.
Dette betyr at Unix-tid ikke er en sann representasjon av UTC. I stedet er den mer nøyaktig beskrevet som en lineær telling av sekunder. Når en skuddsekund inntreffer, gjentar Unix-tid noen ganger et sekund for å holde seg synkronisert. Denne nyansen er kritisk for vitenskapelige og høypresisjons applikasjoner, men for de fleste generelle databehandlingsformål er forskjellen ubetydelig.
created_at, updated_at).
Unix-epoken er øyeblikket da tiden begynner for Unix-systemer: 00:00:00 UTC 1. januar 1970. Et Unix-tidsstempel er ganske enkelt antall sekunder som har gått siden det øyeblikket.
Datoen ble valgt av de tidlige utviklerne av Unix som et praktisk, rundt startpunkt nær da systemet ble skapt på begynnelsen av 1970-tallet. Det har vært standard referansepunkt siden da.
Unix-tiden telles fra en epoke definert i UTC og er tidssoneuavhengig, så samme tidsstempel betyr samme øyeblikk overalt. Fordi den ignorerer skuddsekunder, beskrives den best som en lineær telling av sekunder i stedet for en perfekt representasjon av UTC.
Et standard Unix-tidsstempel teller hele sekunder siden epoken, som er 10 sifre for gjeldende datoer. Mange systemer, inkludert JavaScript, teller i stedet millisekunder, noe som gir en verdi som er 1 000 ganger større med 13 sifre.
Systemer som lagrer tidsstemplet i et 32-bits signert heltall kan kun telle opp til 03:14:07 UTC den 19. januar 2038, hvoretter verdien går over og blir feiltolket som en dato i 1901. Løsningen er å lagre tidsstemplet i et 64-bits heltall.