UNIX Timestamp Konvertor (online prevodník UNIX času)

Aktuálny UNIX timestamp

Sekundy
Milisekundy

Timestamp → Dátum a čas


Dátum a čas → Timestamp

UNIX Timestamp Konvertor (online prevodník UNIX času)

Tento UNIX timestamp konvertor vám umožní rýchlo previesť UNIX čas (epoch time / POSIX time) na dátum a čas a naopak. Podporuje timestamp v sekundách aj milisekundách, zobrazuje lokálny čas, UTC aj ISO 8601 a výsledky je možné jedným kliknutím skopírovať.


Čo je UNIX timestamp (epoch time / POSIX time)?

UNIX timestamp je číslo, ktoré vyjadruje čas ako počet sekúnd od 1. januára 1970 00:00:00 UTC (tzv. UNIX epoch). V praxi ide o jeden z najpoužívanejších formátov na ukladanie a prenos dátumu a času v systémoch, databázach, API a logovaní.

Príklad: 1700000000 zodpovedá dátumu 14. novembra 2023 22:13:20 UTC.

Prečo práve 1. 1. 1970?

Začiatok epochy (1970-01-01) bol zvolený pri návrhu UNIXu ako praktický referenčný bod: je blízko obdobia vzniku systému a umožňuje jednoduché výpočty času.


UNIX timestamp v sekundách vs. milisekundách

UNIX timestamp sa najčastejšie vyskytuje v dvoch podobách:

Formát timestampuPríkladTypické použitie
Sekundy (s)1700000000databázy, backend, API, súbory
Milisekundy (ms)1700000000000JavaScript (Date.now()), analytika, detailné logy

Ako spoznať, čo máte?

  • Sekundy majú pri „dnešných“ dátach obvykle 10 číslic.
  • Milisekundy mávajú obvykle 13 číslic a sú zhruba 1000× väčšie.
  • Orientačne: ak je hodnota > 10¹², takmer isto ide o milisekundy.

Ako používať UNIX timestamp konvertor

1) Timestamp → Dátum a čas

  1. Vložte UNIX timestamp do poľa, alebo kliknite na Teraz (aktuálny UNIX čas).
  2. Ak je timestamp v milisekundách, aktivujte voľbu Milisekundy.
  3. Kliknite na Prevod (prípadne stlačte Enter).
  4. Zobrazí sa prevod na lokálny čas, UTC a ISO 8601.
  5. Kliknutím na výsledok ho skopírujete do schránky.

2) Dátum a čas → Timestamp

  1. Vyberte dátum a čas vo formulári.
  2. Kliknite na Prevod.
  3. Výsledok dostanete ako timestamp v sekundách aj milisekundách.

Kde sa UNIX timestamp používa najčastejšie?

UNIX čas nájdete prakticky všade, kde sa pracuje s časom v IT:

  • Databázy – ukladanie časov a porovnávanie v MySQL, PostgreSQL, SQLite a pod.
  • API – REST/GraphQL často vracia čas ako timestamp (ľahká serializácia).
  • Logy a monitoring – presné radenie udalostí v čase.
  • Git – commity obsahujú časové údaje.
  • Súborové systémy – časy ako mtime/ctime/atime (posledná úprava a pod.).
  • JWT – claimy iat (issued at) a exp (expires) sú typicky v epochových sekundách.
  • Linux/Unix shelldate +%s vracia aktuálny timestamp.
  • JavaScriptDate.now() vracia čas v milisekundách.

Praktické príklady prevodu UNIX času

JavaScript (timestamp ↔ dátum)

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

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

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

// Dátum -> 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álny timestamp v sekundách
ts = int(time.time())

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

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

SQL (MySQL)

-- Aktuálny UNIX timestamp (s)
SELECT UNIX_TIMESTAMP();

-- Timestamp -> dátum
SELECT FROM_UNIXTIME(1700000000);

-- Dátum -> timestamp
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');

Časové pásma: UTC, lokálny čas a ISO 8601

UNIX timestamp je vždy v UTC – neobsahuje informáciu o časovom pásme ani o letnom čase. Prevod do lokálneho času závisí od nastavenia prehliadača, servera alebo použitej knižnice.

Pojmy, ktoré sa hodí poznať:

  • UTC – globálny štandard bez letného/zimného času.
  • GMT – pre bežné použitie prakticky zhodné s UTC.
  • Offset – posun oproti UTC (napr. Bratislava UTC+1 v zime, UTC+2 v lete).

Limity UNIX timestampu a Problém roku 2038

Problém roku 2038 (Year 2038 Problem)

Na niektorých 32-bitových systémoch sa timestamp ukladá ako int32 s maximom 2 147 483 647, čo zodpovedá 19. januáru 2038 03:14:07 UTC. Po prekročení môže dôjsť k pretečeniu a chybnému času. Moderné 64-bitové systémy tento problém typicky nemajú.

Rozsah 64-bitového UNIX času

64-bitové hodnoty pokrývajú extrémne široké obdobie (v praxi „na večnosť“). Záporné hodnoty znamenajú dátum pred 1. 1. 1970.


FAQ – časté otázky k UNIX timestampu

Je UNIX timestamp v UTC, alebo v lokálnom čase? UNIX timestamp je vždy v UTC. Lokálny čas vznikne až pri prevode podľa časového pásma. Konvertor preto obvykle zobrazuje UTC aj lokálny čas.
Ako spoznám, či je timestamp v sekundách alebo milisekundách? Pre aktuálnu dobu má timestamp v sekundách typicky 10 číslic. V milisekundách máva 13 číslic a je zhruba 1000× väčší. Orientačne: hodnota > 10¹² býva milisekundy.
Čo znamená záporný UNIX timestamp? Záporný timestamp predstavuje dátum pred 1. 1. 1970. Napríklad -1 zodpovedá 31. 12. 1969 23:59:59 UTC.
Ako previesť UNIX timestamp v SQL? V MySQL použijete FROM_UNIXTIME(timestamp) a späť UNIX_TIMESTAMP(dátum). V PostgreSQL je to typicky TO_TIMESTAMP(timestamp) a EXTRACT(EPOCH FROM dátum).
Prečo UNIX epoch začína 1. januára 1970? Je to historicky zvolený referenčný bod z raných čias UNIXu: jednoduchý, praktický a blízky dobe vývoja systému.