Unix-tidsstämpelkonverterare
Tidsstämpel till datum
Sekunder eller millisekunder upptäcks automatiskt.
Datum till tidsstämpel
Välj ett datum och en tid för att konvertera det till en Unix-tidsstämpel.
Sekunder sedan Unix-epoken (00:00:00 UTC den 1 januari 1970)
Sekunder eller millisekunder upptäcks automatiskt.
Välj ett datum och en tid för att konvertera det till en Unix-tidsstämpel.
Samma aktuella tidpunkt uttryckt i flera vanliga format, uppdaterad live:
| Format | Aktuellt värde |
|---|---|
| Unix-tidsstämpel (sekunder) | — |
| Unix-tidsstämpel (millisekunder) | — |
| ISO 8601 (UTC) | — |
| RFC 2822 (UTC) | — |
Unix-tid (även känt som epoktid, POSIX-tid eller Unix-tidsstämpel) är ett system för att beskriva en tidpunkt. Det är antalet sekunder som har förflutit sedan Unix-epoken, som definieras som 00:00:00 UTC den torsdagen den 1 januari 1970. Det används i stor utsträckning i Unix-liknande operativsystem och många andra datorsystem.
Den största fördelen med Unix-tid är dess enkelhet. Den representerar tid som ett enda, universellt förståeligt heltal som kontinuerligt ökar. Detta gör det otroligt enkelt att lagra, jämföra och utföra beräkningar med tidsstämplar utan att oroa sig för tidszoner, sommartid eller olika kalendersystem. Till exempel, för att hitta varaktigheten mellan två händelser, subtraherar du helt enkelt deras Unix-tidsstämplar.
Även om detta råa nummer är perfekt för datorer, är det inte särskilt användarvänligt för människor. För att överbrygga detta använder utvecklare och teknikentusiaster ett verktyg som kallas epokkonverterare. Du kan använda det för att omedelbart konvertera vilken tidsstämpel som helst till ett läsbart datum, eller göra det omvända genom att hitta tidsstämpeln för ett specifikt datum.
Ett välkänt problem relaterat till Unix-tid är "Problemet år 2038." Det liknar Y2K-problemet. Många tidiga datorsystem var utformade för att lagra Unix-tidsstämpeln som ett 32-bitars tecken heltal. Ett tecken heltal på 32 bitar kan representera värden från -2 147 483 648 till 2 147 483 647.
Det maximala värdet, 2 147 483 647, kommer att nås vid 03:14:07 UTC den 19 januari 2038. Vid nästa sekund kommer heltalet att överfyllas och återgå till dess mest negativa värde, vilket tolkas av system som ett datum år 1901. Detta kan orsaka omfattande fel i äldre programvara som är beroende av 32-bitars tidsrepresentationer.
Lösningen är att använda ett 64-bitars heltal för att lagra tidsstämpeln. Ett 64-bitars heltal har ett maximalt värde så stort att det inte kommer att överfyllas på ungefär 292 miljarder år, vilket effektivt löser problemet för överskådlig framtid. De flesta moderna operativsystem och programvaror har redan övergått till 64-bitars tidsrepresentationer.
En viktig teknisk detalj är att Unix-tid inte tar hänsyn till skottsekunder. Medan UTC (koordinerad universell tid) ibland lägger till en skottsekund för att hålla våra klockor i linje med jordens rotation, ignorerar Unix-tidsstämpeln dem helt enkelt och fortsätter att räkna linjärt.
Detta innebär att Unix-tid inte är en sann representation av UTC. Istället kan den mer exakt beskrivas som en linjär räkning av sekunder. När en skottsekund inträffar, upprepar Unix-tid ibland en sekund för att förbli synkroniserad. Denna nyans är avgörande för vetenskapliga och högprecisionsapplikationer, men för de flesta allmänna datoranvändningar är skillnaden försumbar.
created_at, updated_at).
Unix-epoken är det ögonblick då tiden börjar för Unix-system: 00:00:00 UTC den 1 januari 1970. En Unix-tidsstämpel är helt enkelt antalet sekunder som har förflutit sedan det ögonblicket.
Datumet valdes av Unix tidiga utvecklare som en praktisk, rund startpunkt nära när systemet skapades i början av 1970-talet. Det har varit standardreferenspunkten sedan dess.
Unix-tiden räknas från en epok definierad i UTC och är tidsoberoende, så samma tidsstämpel betyder samma ögonblick överallt. Eftersom den bortser från skottsekunder beskrivs den bäst som en linjär räkning av sekunder snarare än en perfekt representation av UTC.
En standard Unix-tidsstämpel räknar hela sekunder sedan epok, vilket är 10 siffror för aktuella datum. Många system, inklusive JavaScript, räknar istället millisekunder, vilket ger ett värde som är 1 000 gånger större med 13 siffror.
System som lagrar tidsstämpeln i ett 32-bitars heltal med tecken kan endast räkna upp till 03:14:07 UTC den 19 januari 2038, varefter värdet svämmar över och misstolkas som ett datum år 1901. Lösningen är att lagra tidsstämpeln i ett 64-bitars heltal.