Nástroj pro konverzi unixových časových razítek
Profesionální nástroj pro konverzi unixových časových razítek, který podporuje obousměrnou konverzi mezi časovými razítky a datem a časem, automaticky rozpoznává sekundová (9–10 číslic), milisekundová (13 číslic), mikrosekundová (16 číslic) a nanosekundová (19 číslic) časová razítka podle počtu číslic. Nabízí tři zobrazení: místní čas, čas UTC a čas ve vybrané časové zóně, podporuje více konvertorů pro dávkové porovnání a obsahuje vestavěné nedávné časové rozsahy a běžná časová období pro vývojářské ladění a každodenní konverze. Responzivní rozhraní, okamžitá konverze při zadávání, automatické obnovení výsledku při přepínání časových zón a všechny operace probíhají lokálně ve vašem prohlížeči, což zajišťuje soukromí a bezpečnost.
Aktuální čas
Časové razítko na datum
Podporuje sekundová, milisekundová, mikrosekundová a nanosekundová časová razítka, automaticky rozpoznaná podle počtu číslic (9–10 číslic = sekundy, 13 číslic = ms, 16 číslic = μs, 19 číslic = ns)
Výsledek konverze(Automaticky)
Datum na časové razítko
Výsledek konverze(Automaticky)
Více časových razítek – konvertor data a času
Více časových razítek – konvertor data a času
Více dat – konvertor časových razítek
Více dat – konvertor časových razítek
Návod k použití
Tento nástroj slouží k rychlému dokončení obousměrné konverze mezi Unixovým časovým razítkem a datem a časem v různých scénářích. Podporuje přesnost v sekundách a milisekundách a umožňuje vybrat cílové časové pásmo pro porovnání. Poskytuje převodník pro jednu kartu a více karet. Převod probíhá při zadávání a výsledky se automaticky aktualizují při přepnutí časového pásma. Obsahuje také vestavěné nedávné časové rozsahy a běžné časové úseky, které splňují potřeby vývojářského ladění a každodenních převodů.
Vlastnosti nástroje
- Převádí při zadávání s automatickým rozpoznáním časových razítek v sekundách/milisekundách/mikrosekundách/nanosekundách.
- Podpora výběru a zobrazení globálního časového pásma: tři zobrazení – místní čas, UTC a vybrané časové pásmo.
- Více převodníkových karet pro snadné dávkové porovnání.
- Responzivní rozhraní a podpora klávesnice s dobrou dostupností.
- Vestavěné nedávné časové rozsahy a běžné časové úseky pro kopírování a použití.
Co je časové razítko?
Unixové časové razítko je celkový počet sekund nebo milisekund, které uplynuly od 1. 1. 1970 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. 1. 1970 00:00:00 UTC, který se nazývá Unix Epoch.
Časová razítka byla původně používána v operačních systémech Unix, proto se často nazývají Unixová časová razítka.
Časová razítka jsou široce používána v programování a síťové komunikaci, zejména ve webovém vývoji.
Běžné přesnosti: sekundy (např. 1735689600) a milisekundy (např. 1735689600000). Při reprezentaci data a času souvisejících s časovými pásmy je třeba je formátovat a zobrazit ve spojení s příslušným časovým pásmem.
Běžná časová razítka (trvání)
Problém roku 2038 u časových razítek
Problém roku 2038 se týká otázky, zda 32bitové celé číslo se znaménkem ukládající Unixové časové razítko (v sekundách od 1. 1. 1970 00:00:00 UTC) přeteče po 19. 1. 2038 03:14:07 UTC.
Protože rozsah 32bitového celého čísla se znaménkem je od -2 147 483 648 do 2 147 483 647 a časové razítko odpovídající 19. 1. 2038 03:14:07 UTC je 2 147 483 647, 32bitové celé číslo se znaménkem nebude schopno reprezentovat časová razítka po tomto okamžiku.
Tento problém se týká především starších systémů nebo softwaru využívajících 32bitovou hodnotu time_t. Moderní systémy obvykle používají 64bitovou hodnotu (například 64bitové celé číslo v milisekundách) a tento problém jim nehrozí.
Doporučuje se používat 64bitová časová razítka nebo knihovnu pro čas, která podporuje velký rozsah dat.
Jak získat/konvertovat časová razítka prostřednictvím programovacích jazyků
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
new Date(1735689600 * 1000).toISOString();
new Date('2025-01-01T00:00:00Z').getTime();
time(); // seconds
intval(microtime(true) * 1000); // milliseconds
date('Y-m-d H:i:s', 1735689600);
strtotime('2025-01-01 00:00:00');
import time
int(time.time()) # seconds
int(time.time() * 1000) # milliseconds
import datetime
datetime.datetime.utcfromtimestamp(1735689600).isoformat()
import datetime
int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
import "time"
time.Now().Unix() // seconds
time.Now().UnixMilli() // milliseconds
import "time"
time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
import "time"
ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
use chrono::Utc;
let now = Utc::now();
let sec = now.timestamp(); // seconds i64
let ms = now.timestamp_millis(); // milliseconds i128
use chrono::{DateTime, NaiveDateTime, Utc};
let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
.unwrap()
.and_utc();
let iso = dt.to_rfc3339();
use chrono::DateTime;
let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
.unwrap()
.timestamp();
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;
-- SQLite
SELECT strftime('%s', 'now');
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);
-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';
-- SQLite
SELECT datetime(1735689600, 'unixepoch');
-- 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');