Unix-tid i sanntid

1754337298

Sekunder siden Unix-epoken (00:00:00 UTC 1. januar 1970)

Hva er Unix-tid?

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.

Problemet med år 2038

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.

Skuddsekunder og Unix-tid

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.

Vanlige bruksområder for Unix-tid

  • Fil-tidsstempler: Operativsystemer bruker Unix-tidsstempler for å spore når filer ble opprettet, endret eller sist åpnet.
  • Databaser: Det er en vanlig og effektiv måte å lagre dato- og tidsinformasjon for poster (f.eks. created_at, updated_at).
  • API-er og webutvikling: Brukes for øktutløp, cache-kontroll og logging av API-forespørsler.
  • Programmering: Nesten alle programmeringsspråk tilbyr funksjoner for å hente det nåværende Unix-tidsstempelet og konvertere det til og fra menneske-lesbare datoformater.

Tid nå i disse byene:

New York · London · Tokyo · Paris · Hongkong · Singapore · Dubai · Los Angeles · Shanghai · Beijing · Sydney · Mumbai

Tid nå i land:

🇺🇸 USA | 🇨🇳 Kina | 🇮🇳 India | 🇬🇧 Storbritannia | 🇩🇪 Tyskland | 🇯🇵 Japan | 🇫🇷 Frankrike | 🇨🇦 Canada | 🇦🇺 Australia | 🇧🇷 Brasil |

Tid nå i tidssoner:

UTC | GMT | CET | PST | MST | CST | EST | EET | IST | Kina (CST) | JST | AEST | SAST | MSK | NZST |

Gratis widgeter for nettredaktører:

Gratis Analog Klokke-widget | Gratis digital klokkwidget | Gratis tekstklokkwidget | Gratis ordklokkwidget