Vad Är en Unix-tidsstämpel? En Komplett Förklaring av Epoch-tid
Snabbt svar
En Unix timestamp är antalet sekunder sedan 1 januari 1970, 00:00:00 UTC (Unix epoch). Den är timezone-oberoende och lätt att jämföra. JavaScript använder millisekunder (13 siffror); Unix och de flesta API:er använder sekunder (10 siffror). Använd vår gratis Timestamp Converter.
Introduktion
En Unix timestamp (kallas även Unix epoch time, POSIX time eller Unix time) är antalet sekunder som förflutit sedan 1 januari 1970, 00:00:00 UTC —ett ögonblick känt som Unix epoch. Timestamps används ofta i operativsystem, databaser, loggar och API:er eftersom de är timezone-oberoende (alltid UTC), lätta att jämföra och kompakta. De är dock inte mänskligt-läsbara —1693526400 betyder ingenting utan konvertering.
Steg för steg
-
Förstå Unix-epoken
Unix-epoken är 1 januari 1970, 00:00:00 Coordinated Universal Time (UTC). En Unix-tidsstämpel är antalet sekunder från detta ögonblick. Positiva tidsstämplar är efter epoken; negativa tidsstämplar (stöds av vissa system) är före det.
-
Skilja sekunder från millisekunder
Unix-tidsstämplar är vanligtvis i sekunder (10 siffror från 2026, t.ex. 1693526400). JavaScripts Date.now() och Date.getTime() returnerar millisekunder (13 siffror, t.ex. 1693526400000). Kontrollera alltid vilken enhet en API förväntar sig – att blanda dem är det vanligaste tidsstämpelfelet.
-
Förstå tidszonsoberoende
Unix tidsstämplar är alltid UTC. De beror inte på användarens tidszon. För att visa en tidsstämpel i en specifik tidszon, konvertera den till ett datum och tillämpa tidszonsförskjutningen. Detta gör tidsstämplar idealiska för lagring och jämförelse.
-
Lär dig mer om år 2038-problemet
System som använder 32-bitars signerade heltal för tidsstämplar kommer att svämma över den 19 januari 2038, 03:14:07 UTC — "Y2038-problemet". System som använder 64-bitars heltal eller JavaScript-nummer (64-bitars flytande) påverkas inte. Moderna system är till stor del Y2038-säkra, men äldre inbyggda system kanske inte är det.
Exempel
Tidsstämpel för känt datum
Input: 2023-09-01 00:00:00 UTC
Produktion: 1693526400 (sekunder) eller 1693526400000 (millisekunder)
Unix-epoken
Input: 1970-01-01 00:00:00 UTC
Produktion: 0
Y2038 problemgräns
Input: 2038-01-19 03:14:07 UTC
Produktion: 2147483647 (max 32-bitars signerat heltal)
Vanliga problem
- Blanda sekunder och millisekunder —JavaScript använder millisekunder (Date.now()), Unix och de flesta APIs använder sekunder. Dividera med 1000 för att konvertera ms till sekunder; multiplicera med 1000 för det omvända.
- Tidszonförvirring – tidsstämplar är UTC. När du visar, konvertera till användarens lokala tidszon eller ange UTC. Använd inte förskjutningar på den råa tidsstämpeln.
- År 2038-problemet — 32-bitars signerade heltalstidsstämplar svämmar över 2038-01-19. Använd 64-bitars heltal eller JavaScript-nummer för att undvika detta.
- Negativa tidsstämplar – datum före 1970-01-01 har negativa tidsstämplar. Vissa system stöder inte dem.
Tips
- Kontrollera alltid om en API förväntar sig sekunder eller millisekunder — det här är det vanligaste tidsstämpelfelet.
- Använd ISO 8601-strängar (t.ex. "2023-09-01T00:00:00Z") för läsbara tidsstämplar i APIs; använd Unix-epok för lagring och beräkning.
- JavaScript Date.now() returnerar millisekunder; dividera med 1000 och golvet för att få sekunder.
- Använd vår tidsstämpelkonverterare för att konvertera mellan tidsstämplar och läsbara datum i din webbläsare.