Konwerter Unix Timestamp
Konwertuj między Unix timestampami a datami czytelnymi dla człowieka. Sekundy i milisekundy, UTC i lokalna.
Wpisz dane powyżej, aby zobaczyć wynik.
Do czego to służy?
Unix timestamp to jeden integer — liczba sekund (albo milisekund) od 1970-01-01 00:00:00 UTC. Są wszędzie: w plikach logów, w odpowiedziach API, w claimsach iat/exp JWT, w kolumnach created_at baz danych, w nagłówkach cache. Są jednoznaczne i wolne od strefy czasowej, ale nieczytelne dla człowieka — więc gdy coś się sypie o 1735689600, musisz wiedzieć, czy to 14:00 czy 4:00 rano, dziś czy w zeszłym roku. To narzędzie przerzuca między formą integerową a formą czytelną w obie strony, z auto-detekcją sekund/ms i podpowiedzią czasu względnego.
Kiedy tego użyć
- Dekodowanie pola
"timestamp": 1735689600z wpisu w logu albo odpowiedzi API. - Sprawdzenie, kiedy JWT został wystawiony albo kiedy wygasa (claimsy
iat/expto sekundy od epoch). - Wyliczenie przyszłego timestampu do nagłówka
retry-after, zaplanowanego joba albo TTL cache. - Sanity check, czy data zapisana w bazie jest w sekundach, milisekundach, czy mikrosekundach.
- Konwersja "now" na format, którego oczekuje twoje aktualne narzędzie.
Sekundy, milisekundy, mikrosekundy
- Sekundy — pierwotna konwencja Unixa; ~10 cyfr dziś (np.
1735689600). Używane w C, Linuksie, JWT, większości API, większości kolumnintegerw bazie. - Milisekundy — JS-owy
Date.now(), javowySystem.currentTimeMillis(), Kafka, wiele JSON-owych API. ~13 cyfr. - Mikrosekundy (16 cyfr) / nanosekundy (19 cyfr) — pythonowy
time.time_ns(), golangowytime.Now().UnixNano(), niektóre systemy metryk. To narzędzie ich nie obsługuje automatycznie — najpierw podziel przez 1000 albo 1 000 000.
Częste pułapki
- Problem roku 2038. Signed 32-bitowe timestampy przepełniają się przy
2147483647= 03:14:07 UTC, 19 stycznia 2038. Stary kod C, kolumnyTIMESTAMPw MySQL i systemy embedded mogą zawinąć się do 1901. Nowoczesne systemy używają 64 bitów i są OK do ~roku 292 277 026 596. - Czas Unix pomija sekundy przestępne. Doba uniksowa ma dokładnie 86 400 sekund, nawet gdy UTC ma 86 401. Tak jest z założenia (uproszcza arytmetykę), ale znaczy, że nie użyjesz Unix timestampów do astronomii ani GPS-a z dokładnością subsekundową.
- Ujemne timestampy są poprawne i reprezentują daty sprzed 1970. Niektóre biblioteki je odrzucają — przetestuj zanim na tym polegniesz.
- Auto-detekcja nie jest niezawodna. 10-cyfrowa wartość mogłaby być milisekundowym timestampem z 1970 — w praktyce nieprawdopodobnie, ale jeśli wiesz, którą jednostkę masz, nie polegaj na heurystyce.
- Zawsze zapisuj UTC. Timestampy są wolne od strefy; "czas lokalny" jest tylko do wyświetlania. Linia "Local" na wyjściu używa strefy twojej przeglądarki, ale integer pod spodem to zawsze UTC.