Aktualny Unix timestamp (czas epoch)
Konwerter Unix timestamp
Zamień czas epoch na czytelną datę lub datę na Unix timestamp. Sekundy i milisekundy są rozpoznawane automatycznie.
Timestamp → Data
Data → Timestamp
Czym jest Unix timestamp?
Unix timestamp (zwany też czasem epoch, czasem POSIX lub czasem uniksowym) to liczba sekund, które upłynęły od 1 stycznia 1970, 00:00:00 UTC — momentu nazywanego epoką Uniksa. Każda doba liczy dokładnie 86 400 sekund, a sekundy przestępne są pomijane.
Ponieważ jest to jedna liczba całkowita — bez strefy czasowej, bez czasu letniego i bez niejednoznaczności formatu — stanowi standardowy sposób, w jaki komputery zapisują i wymieniają punkty w czasie. Bazy danych, logi, API i systemy operacyjne używają jej wewnętrznie; czytelna data powstaje dopiero przy wyświetlaniu, w strefie czasowej odbiorcy.
Czas Unix w sekundach i milisekundach
Ten sam moment można zapisać z różną dokładnością. Zwykle liczba cyfr pokazuje, z którą mamy do czynienia:
| Jednostka | Cyfry (dziś) | Przykład | Typowe źródło |
|---|---|---|---|
| sekundy | 10 | 1758700800 | Narzędzia Unix, PHP, MySQL, Python time.time() |
| milisekundy | 13 | 1758700800000 | JavaScript Date.now(), Java |
| mikrosekundy | 16 | 1758700800000000 | Logowanie o wysokiej rozdzielczości |
| nanosekundy | 19 | 1758700800000000000 | Go UnixNano(), systemy śledzenia |
Problem roku 2038
Systemy przechowujące czas Unix jako 32-bitową liczbę całkowitą ze znakiem przepełnią się 19 stycznia 2038 o 03:14:07 UTC (timestamp 2 147 483 647). Sekundę później licznik stanie się ujemny, co takie systemy odczytają jako grudzień 1901. Nowoczesne systemy 64-bitowe nie są zagrożone — licznik 64-bitowy wystarczy na około 292 miliardy lat — ale starsze urządzenia wbudowane, dawne formaty plików i bazy danych z polami 32-bitowymi wciąż wymagają uwagi.
Pobieranie aktualnego Unix timestamp w kodzie
W sekundach, chyba że zaznaczono inaczej.
# 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
Zamiana Unix timestamp na datę w kodzie
# 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)
Ciekawe wartości Unix timestamp
Okrągłe liczby i kamienie milowe, na które programiści trafiają w logach, danych testowych i zgłoszeniach błędów. Wszystkie daty w UTC.
| Timestamp | Data (UTC) | Dlaczego jest ważny |
|---|---|---|
| 0 | 1970-01-01 00:00:00 | Sama epoka Uniksa. Data z 1970 roku zwykle oznacza brakującą lub zerową wartość. |
| 1000000000 | 2001-09-09 01:46:40 | Pierwszy 10-cyfrowy timestamp (tzw. „billennium”). |
| 1234567890 | 2009-02-13 23:31:30 | Kolejne cyfry, świętowane przez programistów na całym świecie. |
| 1500000000 | 2017-07-14 02:40:00 | 1,5 miliarda sekund. |
| 1700000000 | 2023-11-14 22:13:20 | 1,7 miliarda sekund. |
| 2000000000 | 2033-05-18 03:33:20 | 2 miliardy sekund. |
| 2147483647 | 2038-01-19 03:14:07 | Maksymalna 32-bitowa wartość ze znakiem — problem roku 2038. |
Jak przeliczyć Unix timestamp
Timestamp na datę: wklej liczbę do konwertera powyżej. Jednostka jest rozpoznawana po długości — 10 cyfr to sekundy, 13 to milisekundy — a wynik pojawia się w UTC, w Twojej lokalnej strefie czasowej i jako czas względny. Bez rejestracji, nic nie opuszcza przeglądarki.
Data na timestamp: wybierz datę i godzinę, wskaż, czy to czas lokalny, czy UTC, i otrzymasz wartość w sekundach i milisekundach — gotową do zapytań SQL, czasu wygaśnięcia tokenów lub parametrów API.
Szybki test przy debugowaniu: jeśli data w Twoich danych pokazuje się jako styczeń 1970, niemal na pewno potraktowano sekundy jak milisekundy (albo przyszło 0/null). Jeśli wypada dziesiątki tysięcy lat w przyszłości — odwrotnie.
Najczęściej zadawane pytania
Czy Unix timestamp jest w sekundach, czy w milisekundach?
Spotyka się oba. Wartość 10-cyfrowa to sekundy (narzędzia Unix, PHP, MySQL, Python), 13-cyfrowa to milisekundy (JavaScript, Java). Podziel przez 1000, aby przejść z milisekund na sekundy.
Czy czas Unix zależy od strefy czasowej?
Nie. Czas Unix zawsze liczony jest w UTC, więc ten sam moment ma ten sam timestamp na całym świecie. Strefy czasowe mają znaczenie dopiero przy formatowaniu go jako czytelnej daty.
Czy Unix timestamp uwzględnia sekundy przestępne?
Nie. Każda doba liczy dokładnie 86 400 sekund. Gdy wypada sekunda przestępna, systemy operacyjne ją powtarzają lub „rozmazują”, dzięki czemu czas Unix pozostaje czystym, ciągłym licznikiem.
Czy Unix timestamp może być ujemny?
Tak. Wartości ujemne oznaczają chwile przed 1 stycznia 1970. Na przykład -86400 to 31 grudnia 1969, 00:00 UTC. Nie każdy system poprawnie obsługuje ujemne wartości, więc sprawdź to, zanim na nich polegasz.
Jak uzyskać aktualny Unix timestamp?
Uruchom date +%s w terminalu Linux lub macOS, wywołaj Math.floor(Date.now() / 1000) w JavaScripcie albo int(time.time()) w Pythonie. Przykłady dla innych języków znajdziesz wyżej.
Jaki timestamp jest „teraz”?
Licznik na żywo u góry tej strony — aktualizuje się co sekundę i można go skopiować jednym kliknięciem.
Więcej darmowych narzędzi dla programistów
Ta sama idea: szybko, za darmo i wszystko działa w przeglądarce.