Aktuální Unix timestamp (čas epoch)
Převodník Unix timestamp
Převeďte čas epoch na čitelné datum nebo datum na Unix timestamp. Sekundy a milisekundy se rozpoznají automaticky.
Timestamp → Datum
Datum → Timestamp
Co je Unix timestamp?
Unix timestamp (také čas epoch, čas POSIX nebo unixový čas) je počet sekund uplynulých od 1. ledna 1970, 00:00:00 UTC — okamžiku známého jako unixová epocha. Každý den má přesně 86 400 sekund a přestupné sekundy se ignorují.
Protože jde o jediné celé číslo bez časového pásma, bez letního času a bez nejednoznačnosti formátu, je to standardní způsob, jakým počítače ukládají a vyměňují časové okamžiky. Databáze, logy, API i operační systémy jej používají interně; čitelné datum vzniká až při zobrazení, v časovém pásmu, které čtenář potřebuje.
Unixový čas v sekundách a milisekundách
Tentýž okamžik lze vyjádřit s různou přesností. Podle počtu číslic obvykle poznáte, o kterou jde:
| Jednotka | Číslice (dnes) | Příklad | Typický zdroj |
|---|---|---|---|
| sekundy | 10 | 1758700800 | Unixové nástroje, PHP, MySQL, Python time.time() |
| milisekundy | 13 | 1758700800000 | JavaScript Date.now(), Java |
| mikrosekundy | 16 | 1758700800000000 | Logování s vysokým rozlišením |
| nanosekundy | 19 | 1758700800000000000 | Go UnixNano(), trasovací systémy |
Problém roku 2038
Systémy, které ukládají unixový čas jako 32bitové celé číslo se znaménkem, přetečou 19. ledna 2038 v 03:14:07 UTC (timestamp 2 147 483 647). O sekundu později se čítač stane záporným a takové systémy jej vyloží jako prosinec 1901. Moderní 64bitové systémy se to netýká — 64bitový čítač vydrží zhruba 292 miliard let —, ale starší vestavěná zařízení, staré formáty souborů a databáze s 32bitovými poli stále vyžadují pozornost.
Získání aktuálního Unix timestampu v kódu
V sekundách, pokud není uvedeno jinak.
# Shell date +%s # JavaScript (ms → s) Math.floor(Date.now() / 1000) # Python import time; int(time.time()) # Perl time # PHP time() # MySQL SELECT UNIX_TIMESTAMP(); # C# DateTimeOffset.UtcNow.ToUnixTimeSeconds() # Swift Int(Date().timeIntervalSince1970) # Kotlin / Java System.currentTimeMillis() / 1000
Převod Unix timestampu na datum v kódu
# Shell (GNU/Linux) date -u -d @1700000000 # Shell (macOS/BSD) date -u -r 1700000000 # JavaScript (ms) new Date(1700000000 * 1000).toISOString() # Python from datetime import datetime, timezone datetime.fromtimestamp(1700000000, tz=timezone.utc) # Perl scalar gmtime(1700000000) # PHP gmdate('Y-m-d H:i:s', 1700000000) # MySQL SELECT FROM_UNIXTIME(1700000000); # C# DateTimeOffset.FromUnixTimeSeconds(1700000000).UtcDateTime # Swift Date(timeIntervalSince1970: 1700000000) # Kotlin / Java java.time.Instant.ofEpochSecond(1700000000)
Zajímavé Unix timestampy
Kulatá čísla a milníky, na které vývojáři narážejí v logech, testovacích datech a hlášeních chyb. Všechna data v UTC.
| Timestamp | Datum (UTC) | Proč je důležitý |
|---|---|---|
| 0 | 1970-01-01 00:00:00 | Samotná unixová epocha. Datum z roku 1970 obvykle znamená chybějící nebo nulovou hodnotu. |
| 1000000000 | 2001-09-09 01:46:40 | První desetimístný timestamp (tzv. „billennium“). |
| 1234567890 | 2009-02-13 23:31:30 | Číslice v řadě, oslavované vývojáři po celém světě. |
| 1500000000 | 2017-07-14 02:40:00 | 1,5 miliardy sekund. |
| 1700000000 | 2023-11-14 22:13:20 | 1,7 miliardy sekund. |
| 2000000000 | 2033-05-18 03:33:20 | 2 miliardy sekund. |
| 2147483647 | 2038-01-19 03:14:07 | Maximální 32bitová hodnota se znaménkem — problém roku 2038. |
Jak převést Unix timestamp
Z timestampu na datum: vložte číslo do převodníku výše. Jednotka se pozná podle délky — 10 číslic jsou sekundy, 13 milisekundy — a výsledek se zobrazí v UTC, ve vašem místním časovém pásmu a jako relativní čas. Bez registrace, nic neopouští váš prohlížeč.
Z data na timestamp: vyberte datum a čas, určete, zda jde o místní čas nebo UTC, a získáte hodnotu v sekundách i milisekundách — připravenou pro SQL dotazy, expiraci tokenů nebo parametry API.
Rychlá kontrola při ladění: pokud se datum ve vašich datech zobrazí jako leden 1970, téměř jistě jste sekundy zpracovali jako milisekundy (nebo přišla 0/null). Pokud vyjde desítky tisíc let v budoucnosti, je to naopak.
Časté dotazy
Je Unix timestamp v sekundách, nebo v milisekundách?
Obojí je běžné. Desetimístná hodnota jsou sekundy (unixové nástroje, PHP, MySQL, Python), třináctimístná milisekundy (JavaScript, Java). Pro převod z milisekund na sekundy vydělte 1 000.
Závisí unixový čas na časovém pásmu?
Ne. Unixový čas se vždy počítá v UTC, takže stejný okamžik má po celém světě stejný timestamp. Časová pásma hrají roli až při formátování na čitelné datum.
Zahrnují Unix timestampy přestupné sekundy?
Ne. Každý den má přesně 86 400 sekund. Při přestupné sekundě ji operační systémy zopakují nebo „rozmažou“, takže unixový čas zůstává čistým, souvislým čítačem.
Může být Unix timestamp záporný?
Ano. Záporné hodnoty představují okamžiky před 1. lednem 1970. Například -86400 je 31. prosinec 1969, 00:00 UTC. Ne každý systém zvládá záporné timestampy správně, proto to nejdřív otestujte.
Jak získám aktuální Unix timestamp?
Spusťte date +%s v terminálu Linuxu nebo macOS, zavolejte Math.floor(Date.now() / 1000) v JavaScriptu nebo int(time.time()) v Pythonu. Ukázky pro další jazyky najdete výše.
Jaký timestamp je „teď“?
Živý čítač nahoře na této stránce — aktualizuje se každou sekundu a zkopírujete jej jedním kliknutím.
Další bezplatné nástroje pro vývojáře
Stejný princip: rychlé, zdarma a vše běží ve vašem prohlížeči.