Převodník Unixových časových razítek

Dvoustranný převodník mezi Unixovým/Linuxovým časovým razítkem a datem a časem s možností porovnání v různých časových zónách.

Aktuální čas

Aktuální časové razítko (sekundy)
1766507421
Aktuální čas
2025-12-23 16:30:21

Převod časového razítka na datum

Výsledek převodu(automaticky)

Převod data na časové razítko

Výsledek převodu(automaticky)

Nástroj pro převod více časových razítek na datum a čas

Nástroj pro převod více časových razítek na datum a čas

Nástroj pro převod více dat na časová razítka

Nástroj pro převod více dat na časová razítka

Používání

Tento nástroj slouží k rychlému provádění oboustranné konverze mezi Unixovým časovým razítkem a datumem a časem v různých scénářích. Podporuje přesnost v sekundách i milisekundách a umožňuje zvolit cílovou časovou zónu pro porovnávací zobrazení. Poskytuje jednokartový a vícekartový převodník. Převod probíhá okamžitě po zadání vstupu, při změně časové zóny se výsledky automaticky obnovují. Kromě toho obsahuje přednastavené časové rozmezí pro nedávné období a často používané časové intervaly, což uspokojí potřeby vývojářů při ladění i běžné potřeby při převodech.

Automatické rozpoznávání: Nástroj automaticky rozpozná, zda je zadané časové razítko v sekundách (10 číslic) nebo v milisekundách (13 číslic).
Časová zóna: Zobrazuje místní čas a UTC čas, což usnadňuje použití v různých časových zónách.

Funkční vlastnosti nástroje

  • Převod probíhá okamžitě po zadání vstupu, podporuje automatické rozpoznávání časových razítek v sekundách/milisekundách.
  • Podporuje globální výběr a zobrazení časových zón: tři zobrazení - místní, UTC a zvolená časová zóna.
  • Více převodních karet, což usnadňuje hromadné porovnávání.
  • Rezponzivní rozhraní a přátelské k klávesnici, dobrá přístupnost.
  • Obsahuje přednastavené časové rozmezí pro nedávné období a často používané časové intervaly, lze je jednoduše zkopírovat a použít.

Co je časové razítko?

Unixové časové razítko (Unix Timestamp) je celkový počet sekund nebo milisekund, které uplynuly od 1. ledna 1970 v 00:00:00 UTC (Unix Epoch).

Časové razítko je číslo reprezentující čas, obvykle v sekundách nebo milisekundách.

Počáteční bod časového razítka je 1. ledna 1970 v 00:00:00 UTC, tento čas se nazývá Unixový epoch.

Časové razítko bylo původně použito v operačním systému Unix, proto se často nazývá Unixové časové razítko.

Časové razítko se široce používá při programování a síťové komunikaci, zejména při vývoji webových aplikací.

Běžné úrovně přesnosti: sekundy (např. 1735689600) a milisekundy (např. 1735689600000). Při zobrazení data a času v souvislosti s časovou zónou je nutné provést formátování s ohledem na zvolenou časovou zónu.

Nedávné časové razítka (na základě globálního časového pásma)

Často používané časové razítka (trvání)

1 minuta
60 Sekundy
1 hodina
3600 Sekundy
1 den
86400 Sekundy
1 týden
604800 Sekundy
1 měsíc (30 dní)
2592000 Sekundy
1 rok (365 dní)
31536000 Sekundy

Problém roku 2038 s časovými razítky

Problém roku 2038 se týká přetečení 32bitového podepsaného celočíselného typu při ukládání Unixového časového razítka (v sekundách od 1. ledna 1970 00:00:00 UTC) po 19. lednu 2038 v 03:14:07.

Vzhledem k tomu, že rozsah 32bitového podepsaného celočíselného typu je od -2 147 483 648 do 2 147 483 647 a časové razítko pro 19. ledna 2038 v 03:14:07 UTC je 2 147 483 647, po tomto bodě 32bitový podepsaný celočíselný typ nebude schopen reprezentovat následující časová razítka.

Nejčastěji ovlivněny jsou starší systémy nebo software využívající 32bitový typ time_t. Moderní systémy obvykle používají 64bitové typy (například 64bitové celé číslo v milisekundách), takže tento problém neplatí.

Doporučujeme používat 64bitová časová razítka nebo knihovny pro práci s daty, které podporují velký rozsah datumů.

Jak získat/převést časové razítko prostřednictvím programovacího jazyka

JavaScript
Získat aktuální časové razítko
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
Časové razítko → Datum
new Date(1735689600 * 1000).toISOString();
Datum → Časové razítko
new Date('2025-01-01T00:00:00Z').getTime();
PHP
Získat aktuální časové razítko
time();                // seconds
intval(microtime(true) * 1000); // milliseconds
Časové razítko → Datum
date('Y-m-d H:i:s', 1735689600);
Datum → Časové razítko
strtotime('2025-01-01 00:00:00');
Python
Získat aktuální časové razítko
import time

int(time.time())        # seconds
int(time.time() * 1000) # milliseconds
Časové razítko → Datum
import datetime

datetime.datetime.utcfromtimestamp(1735689600).isoformat()
Datum → Časové razítko
import datetime

int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
Go
Získat aktuální časové razítko
import "time"

time.Now().Unix()      // seconds
time.Now().UnixMilli() // milliseconds
Časové razítko → Datum
import "time"

time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
Datum → Časové razítko
import "time"

ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
Rust
Získat aktuální časové razítko
use chrono::Utc;

let now = Utc::now();
let sec = now.timestamp();        // seconds i64
let ms  = now.timestamp_millis(); // milliseconds i128
Časové razítko → Datum
use chrono::{DateTime, NaiveDateTime, Utc};

let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
    .unwrap()
    .and_utc();
let iso = dt.to_rfc3339();
Datum → Časové razítko
use chrono::DateTime;

let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
    .unwrap()
    .timestamp();
SQL
Získat aktuální časové razítko
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;

-- SQLite
SELECT strftime('%s', 'now');
Časové razítko → Datum
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);

-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';

-- SQLite
SELECT datetime(1735689600, 'unixepoch');
Datum → Časové razítko
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP('2025-01-01 00:00:00');

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2025-01-01 00:00:00+00')::bigint;

-- SQLite
SELECT strftime('%s', '2025-01-01 00:00:00');