UNIX Timestamp Konvertor (online převodník UNIX času)

Aktuální UNIX timestamp

Sekundy
Milisekundy

Timestamp → Datum a čas


Datum a čas → Timestamp

UNIX Timestamp Konvertor (online převodník UNIX času)

Tento UNIX timestamp konvertor vám umožní rychle převést UNIX čas (epoch time / POSIX time) na datum a čas a naopak. Podporuje timestamp v sekundách i milisekundách, zobrazuje lokální čas, UTC i ISO 8601 a výsledky lze jedním kliknutím zkopírovat.


Co je UNIX timestamp (epoch time / POSIX time)?

UNIX timestamp je číslo, které vyjadřuje čas jako počet sekund od 1. ledna 1970 00:00:00 UTC (tzv. UNIX epoch). V praxi jde o jeden z nejpoužívanějších formátů pro ukládání a přenos datumu a času v systémech, databázích, API a logování.

Příklad: 1700000000 odpovídá datu 14. listopadu 2023 22:13:20 UTC.

Proč právě 1. 1. 1970?

Začátek epochy (1970-01-01) byl zvolen při návrhu UNIXu jako praktický referenční bod: je blízko období vzniku systému a umožňuje jednoduché výpočty času.


UNIX timestamp v sekundách vs. milisekundách

UNIX timestamp se nejčastěji vyskytuje ve dvou podobách:

Formát timestampuPříkladTypické použití
Sekundy (s)1700000000databáze, backend, API, soubory
Milisekundy (ms)1700000000000JavaScript (Date.now()), analytika, detailní logy

Jak poznat, co máte?

  • Sekundy mají u „dnešních“ dat obvykle 10 číslic.
  • Milisekundy mívají obvykle 13 číslic a jsou zhruba 1000× větší.
  • Orientačně: pokud je hodnota > 10¹², téměř jistě jde o milisekundy.

Jak používat UNIX timestamp konvertor

1) Timestamp → Datum a čas

  1. Vložte UNIX timestamp do pole, nebo klikněte na Nyní (aktuální UNIX čas).
  2. Pokud je timestamp v milisekundách, aktivujte volbu Milisekundy.
  3. Klikněte na Převést (případně stiskněte Enter).
  4. Zobrazí se převod na lokální čas, UTC a ISO 8601.
  5. Kliknutím na výsledek jej zkopírujete do schránky.

2) Datum a čas → Timestamp

  1. Vyberte datum a čas ve formuláři.
  2. Klikněte na Převést.
  3. Výsledek dostanete jako timestamp v sekundách i milisekundách.

Kde se UNIX timestamp používá nejčastěji?

UNIX čas potkáte prakticky všude, kde se pracuje s časem v IT:

  • Databáze – ukládání časů a porovnávání v MySQL, PostgreSQL, SQLite apod.
  • API – REST/GraphQL často vrací čas jako timestamp (snadná serializace).
  • Logy a monitoring – přesné řazení událostí v čase.
  • Git – commity obsahují časové údaje.
  • Souborové systémy – časy jako mtime/ctime/atime (poslední úprava apod.).
  • JWT – claimy iat (issued at) a exp (expires) jsou typicky v epochových sekundách.
  • Linux/Unix shelldate +%s vrací aktuální timestamp.
  • JavaScriptDate.now() vrací čas v milisekundách.

Praktické příklady převodu UNIX času

JavaScript (timestamp ↔ datum)

// Aktuální UNIX timestamp v sekundách
const tsSeconds = Math.floor(Date.now() / 1000);

// Aktuální timestamp v milisekundách
const tsMs = Date.now();

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

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

Python (timestamp ↔ datetime)

import time
from datetime import datetime, timezone

# Aktuální timestamp v sekundách
ts = int(time.time())

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

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

SQL (MySQL)

-- Aktuální UNIX timestamp (s)
SELECT UNIX_TIMESTAMP();

-- Timestamp -> datum
SELECT FROM_UNIXTIME(1700000000);

-- Datum -> timestamp
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');

Časová pásma: UTC, lokální čas a ISO 8601

UNIX timestamp je vždy v UTC – neobsahuje informaci o časovém pásmu ani o letním čase. Převod do lokálního času závisí na nastavení prohlížeče, serveru nebo použité knihovny.

Pojmy, které se hodí znát:

  • UTC – globální standard bez letního/zimního času.
  • GMT – pro běžné použití prakticky shodné s UTC.
  • Offset – posun oproti UTC (např. Praha UTC+1 v zimě, UTC+2 v létě).

Limity UNIX timestampu a Year 2038 Problem

Problém roku 2038 (Year 2038 Problem)

Na některých 32bitových systémech se timestamp ukládá jako int32 s maximem 2 147 483 647, což odpovídá 19. lednu 2038 03:14:07 UTC. Po překročení může dojít k přetečení a chybnému času. Moderní 64bitové systémy tento problém typicky nemají.

Rozsah 64bitového UNIX času

64bitové hodnoty pokrývají extrémně široké období (v praxi „na věky“). Záporné hodnoty znamenají datum před 1. 1. 1970.


FAQ – časté otázky k UNIX timestampu

Je UNIX timestamp v UTC, nebo v lokálním čase? UNIX timestamp je vždy v UTC. Lokální čas vznikne až při převodu podle časového pásma. Konvertor proto obvykle zobrazuje UTC i lokální čas.
Jak poznám, zda je timestamp v sekundách nebo milisekundách? Pro aktuální dobu má timestamp v sekundách typicky 10 číslic. V milisekundách mívá 13 číslic a je zhruba 1000× větší. Orientačně: hodnota > 10¹² bývá milisekundy.
Co znamená záporný UNIX timestamp? Záporný timestamp představuje datum před 1. 1. 1970. Například -1 odpovídá 31. 12. 1969 23:59:59 UTC.
Jak převést UNIX timestamp v SQL? V MySQL použijete FROM_UNIXTIME(timestamp) a zpět UNIX_TIMESTAMP(datum). V PostgreSQL je to typicky TO_TIMESTAMP(timestamp) a EXTRACT(EPOCH FROM datum).
Proč UNIX epoch začíná 1. ledna 1970? Je to historicky zvolený referenční bod z raných dob UNIXu: jednoduchý, praktický a blízký době vývoje systému.