UNIX Tidsstämpel Omvandlare - Konvertera online

Aktuell UNIX tidsstämpel

Sekunder
Millisekunder

Tidsstämpel → Datum och tid


Datum och tid → Tidsstämpel

UNIX Tidsstämpel Omvandlare (online konverterare av UNIX-tid)

Denna UNIX tidsstämpel omvandlare låter dig snabbt konvertera UNIX-tid (epoch time / POSIX time) till datum och tid och vice versa. Den stöder tidsstämplar i sekunder och millisekunder, visar lokal tid, UTC och ISO 8601, och resultaten kan kopieras med ett klick.


Vad är UNIX tidsstämpel (epoch time / POSIX time)?

En UNIX tidsstämpel är ett nummer som representerar tid som antalet sekunder sedan 1 januari 1970 00:00:00 UTC (den så kallade UNIX epoch). I praktiken är det ett av de mest använda formaten för att lagra och överföra datum och tid i system, databaser, API:er och loggning.

Exempel: 1700000000 motsvarar datumet 14 november 2023 22:13:20 UTC.

Varför just 1 januari 1970?

Början av epoken (1970-01-01) valdes vid designen av UNIX som en praktisk referenspunkt: den är nära systemets skapande och möjliggör enkla tidsberäkningar.


UNIX tidsstämpel i sekunder vs. millisekunder

UNIX tidsstämplar förekommer oftast i två former:

TidsstämpelformatExempelTypisk användning
Sekunder (s)1700000000databaser, backend, API:er, filer
Millisekunder (ms)1700000000000JavaScript (Date.now()), analys, detaljerade loggar

Hur vet du vilken du har?

  • Sekunder har för “dagens” datum oftast 10 siffror.
  • Millisekunder har oftast 13 siffror och är ungefär 1000 gånger större.
  • Som en tumregel: om värdet är > 10¹², är det nästan säkert millisekunder.

Hur man använder UNIX tidsstämpel omvandlaren

1) Tidsstämpel → Datum och tid

  1. Ange UNIX tidsstämpeln i fältet, eller klicka på Nu (aktuell UNIX-tid).
  2. Om tidsstämpeln är i millisekunder, aktivera alternativet Millisekunder.
  3. Klicka på Konvertera (eller tryck Enter).
  4. Konverteringen till lokal tid, UTC och ISO 8601 visas.
  5. Klicka på resultatet för att kopiera det till urklipp.

2) Datum och tid → Tidsstämpel

  1. Välj datum och tid i formuläret.
  2. Klicka på Konvertera.
  3. Resultatet får du som tidsstämpel i sekunder och millisekunder.

Var används UNIX tidsstämpel oftast?

UNIX-tid stöter du på praktiskt taget överallt där man arbetar med tid inom IT:

  • Databaser – lagring av tider och jämförelser i MySQL, PostgreSQL, SQLite m.fl.
  • API:er – REST/GraphQL returnerar ofta tid som tidsstämpel (enkel serialisering).
  • Loggar och övervakning – exakt sortering av händelser i tid.
  • Git – commits innehåller tidsdata.
  • Filsystem – tider som mtime/ctime/atime (senaste ändring m.m.).
  • JWT – claims iat (issued at) och exp (expires) är typiskt i epoch-sekunder.
  • Linux/Unix shelldate +%s returnerar aktuell tidsstämpel.
  • JavaScriptDate.now() returnerar tid i millisekunder.

Praktiska exempel på konvertering av UNIX-tid

JavaScript (tidsstämpel ↔ datum)

// Aktuell UNIX tidsstämpel i sekunder
const tsSeconds = Math.floor(Date.now() / 1000);

// Aktuell tidsstämpel i millisekunder
const tsMs = Date.now();

// Tidsstämpel (s) -> datum
const dateFromSeconds = new Date(1700000000 * 1000);
console.log(dateFromSeconds.toISOString());

// Datum -> tidsstämpel (s)
const ts = Math.floor(new Date("2024-01-01T00:00:00Z").getTime() / 1000);
console.log(ts);

Python (tidsstämpel ↔ datetime)

import time
from datetime import datetime, timezone

# Aktuell tidsstämpel i sekunder
ts = int(time.time())

# Tidsstämpel -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc)

# Datum -> tidsstämpel
ts2 = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp())

SQL (MySQL)

-- Aktuell UNIX tidsstämpel (s)
SELECT UNIX_TIMESTAMP();

-- Tidsstämpel -> datum
SELECT FROM_UNIXTIME(1700000000);

-- Datum -> tidsstämpel
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');

Tidszoner: UTC, lokal tid och ISO 8601

UNIX tidsstämpel är alltid i UTC – den innehåller ingen information om tidszon eller sommartid. Konvertering till lokal tid beror på inställningarna i webbläsaren, servern eller det bibliotek som används.

Begrepp som är bra att känna till:

  • UTC – global standard utan sommar-/vintertid.
  • GMT – för allmänt bruk praktiskt taget samma som UTC.
  • Offset – förskjutning i förhållande till UTC (t.ex. Stockholm UTC+1 på vintern, UTC+2 på sommaren).

Gränser för UNIX tidsstämpel och År 2038-problemet

År 2038-problemet (Year 2038 Problem)

På vissa 32-bitars system lagras tidsstämpeln som int32 med ett maxvärde på 2 147 483 647, vilket motsvarar 19 januari 2038 03:14:07 UTC. Efter överskridande kan detta leda till ett överflöd och felaktig tid. Moderna 64-bitars system har typiskt sett inte detta problem.

Omfattningen av 64-bitars UNIX-tid

64-bitars värden täcker en extremt bred period (i praktiken “för evigt”). Negativa värden betyder datum före 1 januari 1970.


FAQ – Vanliga frågor om UNIX tidsstämpel

Är UNIX tidsstämpel i UTC, eller i lokal tid? UNIX tidsstämpel är alltid i UTC. Lokal tid skapas först vid konvertering enligt tidszonen. Omvandlaren visar därför vanligtvis både UTC och lokal tid.
Hur vet jag om tidsstämpeln är i sekunder eller millisekunder? För aktuell tid har en tidsstämpel i sekunder typiskt 10 siffror. I millisekunder har den oftast 13 siffror och är ungefär 1000 gånger större. Som en tumregel: ett värde > 10¹² är vanligtvis millisekunder.
Vad betyder en negativ UNIX tidsstämpel? En negativ tidsstämpel representerar ett datum före 1 januari 1970. Till exempel motsvarar -1 31 december 1969 23:59:59 UTC.
Hur konverterar man UNIX tidsstämpel i SQL? I MySQL använder du FROM_UNIXTIME(timestamp) och tillbaka UNIX_TIMESTAMP(datum). I PostgreSQL är det typiskt TO_TIMESTAMP(timestamp) och EXTRACT(EPOCH FROM datum).
Varför börjar UNIX-epoken den 1 januari 1970? Det är en historiskt vald referenspunkt från UNIX tidiga dagar: enkel, praktisk och nära systemutvecklingstiden.