Konwerter Unix timestamp i epoch — wielokrotna precyzja
Błyskawicznie konwertuj Unix timestamp na datę. Automatyczne wykrywanie sekund, milisekund i mikrosekund. Zegar na żywo, dwukierunkowo. Bezpłatnie i prywatnie.
Aktualny Unix timestamp
0Szybka ściągawka
Przykłady kodu
Czym jest Unix timestamp (czas epoch)?
Unix timestamp (zwany też czasem epoch lub czasem POSIX) to liczba sekund, które upłynęły od 1 stycznia 1970 00:00:00 UTC, stanowiąca uniwersalne odniesienie czasu dla praktycznie wszystkich systemów komputerowych. Od jąder Linuksa i baz SQL po silniki JavaScript i mobilne systemy operacyjne — niemal każda nowoczesna platforma przechowuje i wymienia czas właśnie w postaci Unix timestamp.
Jak formalnie definiuje to standard IEEE Std 1003.1 (POSIX): „Unix epoch (1 stycznia 1970 00:00:00 UTC) służy jako punkt zerowy czasu POSIX” — konwencja przyjęta tak powszechnie, że stała się de facto światowym standardem dla maszynowo czytelnych timestamp. Z Unix timestamp korzysta zdecydowana większość systemów serwerowych, baz danych i protokołów sieciowych, w tym header HTTP, JWT token oraz praktycznie każde REST API.
Sama Unix epoch — 1 stycznia 1970 — nie została wybrana przypadkowo. Unix powstał w Bell Labs pod koniec lat 60., a rok 1970 był wygodnym, okrągłym punktem startu — wystarczająco bliskim teraźniejszości, aby wszystkie istotne daty mieściły się w rozsądnych liczbach całkowitych. Każdy moment w czasie można wyrazić jako 64-bitową liczbę całkowitą ze znakiem oznaczającą liczbę sekund od tego punktu odniesienia. Daty sprzed epoch zapisuje się liczbami ujemnymi: 31 grudnia 1969 o północy UTC to -86400 (czyli jeden dzień, 86 400 sekund, przed epoch).
Współczesne systemy często wymagają precyzji większej niż całe sekundy. W tym celu timestamp wyraża się zwykle w milisekundach (tysięcznych częściach sekundy, jak zwraca `Date.now()` w JavaScript czy `System.currentTimeMillis()` w Javie) albo w mikrosekundach (milionowych częściach sekundy, używanych w bazach takich jak PostgreSQL oraz w systemach handlu wysokich częstotliwości). Precyzję rozpoznaje się po liczbie cyfr: 10 cyfr oznacza sekundy, 13 cyfr — milisekundy, a 16 cyfr — mikrosekundy. Ten konwerter automatycznie wykrywa precyzję wartości wejściowej.
Unix timestamp jest fundamentem systemów rozproszonych, ponieważ jest niezależny od strefy czasowej, monotonicznie rosnący (w normalnych warunkach) i trywialnie sortowalny jako liczba całkowita. Przechowywanie czasu jako timestamp i konwersja na format czytelny dla człowieka dopiero w warstwie wyświetlania to dobra praktyka, która eliminuje całe kategorie błędów związanych ze strefami czasowymi. Kompromisem jest czytelność — surowa wartość taka jak 1741965432 jest nieprzejrzysta bez konwertera, i właśnie tę funkcję pełni to narzędzie.
Wszystkie konwersje wykonywane są wyłącznie w przeglądarce z użyciem JavaScript Date API — żadne timestamp, daty ani inne dane nie są wysyłane na serwer. To narzędzie błyskawicznie konwertuje dowolny Unix timestamp — w tym aktualny czas epoch widoczny w zegarze powyżej — na czytelną dla człowieka datę, z pełnym zachowaniem prywatności.
Timestamp jest blisko związany z innymi narzędziami programistycznymi. UUID v1 i v7 osadzają timestamp bezpośrednio w identyfikatorach, a odpowiedzi API zawierające timestamp najwygodniej przeglądać w narzędziu do formatowania JSON. Pogłębione omówienie precyzji, obsługi stref czasowych i pułapek związanych z czasem letnim, wraz z przykładami kodu w JavaScript, Pythonie i Go, znajduje się w naszym przewodniku po Unix timestamp.
// Get the current Unix timestamp in JavaScript const timestampSeconds = Math.floor(Date.now() / 1000); console.log(timestampSeconds); // → 1741965432 // Milliseconds (native JavaScript) const timestampMs = Date.now(); console.log(timestampMs); // → 1741965432000 // Convert timestamp back to a Date object const date = new Date(timestampSeconds * 1000); console.log(date.toISOString()); // → '2025-03-14T15:37:12.000Z' // Python equivalent // import time // timestamp = int(time.time()) # → 1741965432
Najważniejsze funkcje
Automatyczne wykrywanie precyzji
Narzędzie samo rozpoznaje, czy timestamp jest w sekundach (10 cyfr), milisekundach (13 cyfr) czy mikrosekundach (16 cyfr) — bez ręcznego przełączania trybów.
Konwersja dwukierunkowa
Można konwertować timestamp na czytelne daty albo wybrać dowolną datę i godzinę, aby od razu otrzymać odpowiadający Unix timestamp we wszystkich trzech precyzjach.
Zegar epoch na żywo
Aktualny Unix timestamp tyka w czasie rzeczywistym, dzięki czemu zawsze masz pod ręką dokładny punkt odniesienia do konwersji i obliczeń.
Wieloformatowe wyniki
Każda konwersja zwraca jednocześnie czas UTC, lokalną strefę czasową, format ISO 8601 oraz przyjazny człowiekowi czas relatywny (np. „3 dni temu”).
100% przetwarzania w przeglądarce
Wszystkie konwersje wykonywane są wyłącznie w przeglądarce z użyciem JavaScript Date API. Żadne timestamp, daty ani dane osobowe nie są przesyłane na serwer.
Unix timestamp a inne formaty daty
ISO 8601
2025-03-14T15:37:12ZJednocześnie czytelny dla człowieka i sortowalny leksykograficznie. Standard wymiany danych i API. Preferowany nad Unix timestamp, gdy liczy się czytelność.
RFC 2822
Fri, 14 Mar 2025 15:37:12 +0000Czytelny dla człowieka, ale niesortowalny. Używany głównie w nagłówkach e-mail (pole Date). Mniej zwarty niż ISO 8601 i Unix timestamp.
Data w formie czytelnej
14 marca 2025, 15:37Najbardziej czytelny format dla użytkowników końcowych, ale niesortowalny i nieprzydatny do użycia programistycznego. Najlepszy do warstwy prezentacji UI.
Przykłady konwersji
Standardowy Unix timestamp (sekundy)
1741965432
2025-03-14T15:37:12Z
10-cyfrowy timestamp w sekundach — najpopularniejszy format używany w systemach Unix/Linux, w API systemu Unix, w JWT token i logach serwera. Ta konkretna wartość odpowiada Dniu Pi 2025 o godz. 15:37:12 UTC.
Timestamp Y2K — 1 stycznia 2000
946684800
2000-01-01T00:00:00Z
Unix timestamp odpowiadający momentowi Y2K: dokładnie 946 684 800 sekund po Unix epoch. To wygodna wartość kalibracyjna — jeśli konwerter zwraca dla niej 1 stycznia 2000, działa poprawnie.
Timestamp ujemny (przed epoch)
-86400
1969-12-31T00:00:00Z
Ujemne wartości Unix timestamp reprezentują daty sprzed 1 stycznia 1970. Wartość -86400 to dokładnie jeden dzień (86 400 sekund) przed epoch, co odpowiada 31 grudnia 1969 o północy UTC. Nie wszystkie systemy obsługują ujemne timestamp, ale ten konwerter radzi sobie z nimi prawidłowo.
Timestamp w milisekundach (13 cyfr)
1741965432000
2025-03-14T15:37:12.000Z
13-cyfrowy timestamp w milisekundach — natywny format `Date.now()` w JavaScript, `System.currentTimeMillis()` w Javie i większości nowoczesnych REST API. To ten sam moment co w pierwszym przykładzie, pomnożony przez 1000. Auto-detekcja rozpoznaje 13-cyfrową długość i poprawnie interpretuje wartość jako milisekundy.
Jak skonwertować Unix timestamp na datę
- 1
Wybierz kierunek konwersji
Wybierz „Timestamp → Data”, aby zdekodować Unix timestamp na czytelną datę, lub „Data → Timestamp”, by skonwertować datę i godzinę kalendarzową na Unix timestamp.
- 2
Wpisz wartość
Wklej lub wpisz Unix timestamp (np. 1741965432 lub 1741965432000) w polu wejściowym. Narzędzie automatycznie rozpozna, czy chodzi o sekundy, milisekundy czy mikrosekundy. W trybie Data → Timestamp wybierz rok, miesiąc, dzień, godzinę, minutę i sekundę za pomocą wybieraka daty.
- 3
Skopiuj wynik konwersji
Wynik od razu pojawia się w czasie UTC, czasie lokalnym, formacie ISO 8601 oraz w czasie relatywnym. Kliknij przycisk Kopiuj obok dowolnego formatu, aby skopiować go do schowka.
Typowe zastosowania
- Tworzenie i debugowanie API
- Dekodowanie nieprzejrzystych timestamp w odpowiedziach API, payload JWT token (claim iat, exp, nbf), danych zdarzeń webhook i wpisach logów. Szybka weryfikacja, czy token uwierzytelniający wygasł lub kiedy nastąpiło zdarzenie.
- Przechowywanie i odpytywanie timestamp w bazie danych
- Konwersja między Unix timestamp a datami czytelnymi dla człowieka przy pisaniu zapytań do bazy, przeglądaniu zapisanych rekordów albo walidacji, czy filtry zakresów dat w klauzulach WHERE są poprawnie określone.
- Analiza i korelacja plików logów
- Wiele logów systemowych i aplikacyjnych zapisuje zdarzenia jako Unix timestamp. Konwersja podejrzanych wpisów na czytelne czasy ułatwia korelację zdarzeń między usługami, identyfikację okien ataku oraz wskazanie dokładnego momentu wystąpienia błędu.
- Weryfikacja wygaśnięcia JWT token
- JSON Web Token kodują iat (issued at), exp (expires at) oraz nbf (not before) jako Unix timestamp w payload. Wystarczy wkleić te wartości wprost, aby zweryfikować okno ważności tokena bez ręcznego liczenia epoch.
- Planowanie zadań cron
- Można sprawdzić, czy harmonogramy cron, zaplanowane zadania i wyzwalacze czasowe pokrywają się z zamierzonymi oknami uruchomień, konwertując proponowane czasy startu na timestamp i z powrotem.
- Koordynacja dat między strefami czasowymi
- Unix timestamp jest z natury neutralny względem stref czasowych. Ten konwerter pomaga ustalić wspólny punkt odniesienia przy uzgadnianiu dat i terminów między zespołami w różnych strefach, potwierdzając ekwiwalent UTC dowolnego czasu lokalnego.
Informacje techniczne
- Definicja Unix timestamp
- Unix timestamp to liczba całkowita sekund, które upłynęły od Unix epoch: 1 stycznia 1970, 00:00:00 UTC (uniwersalny czas koordynowany). Wartość jest taka sama bez względu na lokalną strefę czasową obserwatora, co czyni z niej idealną, neutralną względem stref czasowych reprezentację do przechowywania i porównywania czasów.
- Maksymalna wartość 32-bitowej liczby całkowitej ze znakiem
- Maksymalna wartość 32-bitowej liczby całkowitej ze znakiem to 2 147 483 647. Jako Unix timestamp odpowiada 19 stycznia 2038 o godz. 03:14:07 UTC. Systemy przechowujące timestamp w 32-bitowych liczbach ze znakiem przepełnią się w tym momencie — to tzw. problem roku 2038. Systemy 64-bitowe potrafią reprezentować daty oddalone o miliardy lat w przyszłość.
- JavaScript używa milisekund
- Funkcje `Date.now()` oraz `new Date().getTime()` w JavaScript zwracają liczbę milisekund od epoch — nie sekund. Wynik to liczby 13-cyfrowe. Aby uzyskać standardowy Unix timestamp w sekundach, należy podzielić wartość przez 1000 i wziąć dolną granicę: `Math.floor(Date.now() / 1000)`. Wiele API i narzędzi oczekuje sekund, dlatego ten krok konwersji jest kluczowy.
- Ujemne timestamp reprezentują daty sprzed epoch
- Unix timestamp może być ujemny i wtedy oznacza datę sprzed 1 stycznia 1970. Na przykład -86400 reprezentuje 31 grudnia 1969 o godz. 00:00:00 UTC. Zakres timestamp 64-bitowego ze znakiem rozciąga się od około 292 miliardów lat przed epoch do 292 miliardów lat po niej — z dużym zapasem dla każdego praktycznego zastosowania.
- Czas Unix nie uwzględnia sekund przestępnych
- Czas Unix zakłada dokładnie 86 400 sekund na dobę (24 godziny × 60 minut × 60 sekund). W rzeczywistości IERS okresowo wstawia sekundy przestępne, aby utrzymać synchronizację UTC z obrotem Ziemi. Oznacza to, że czas Unix nie jest idealnie liniowy względem TAI (międzynarodowego czasu atomowego), a różnica narasta z czasem. Dla większości zastosowań ta rozbieżność jest nieistotna, jednak systemy precyzyjnego pomiaru czasu muszą ją uwzględniać.
Najlepsze praktyki obsługi timestamp
- Zawsze przechowuj timestamp w UTC
- Czas należy przechowywać w UTC (lub jako Unix timestamp) i konwertować na czas lokalny dopiero w warstwie wyświetlania. Mieszanie stref czasowych w bazie danych to częste źródło błędów trudnych do odtworzenia i naprawienia, zwłaszcza wokół przełomów czasu letniego.
- Używaj precyzji milisekundowej dla nowoczesnych API
- Większość nowoczesnych API, środowisk JavaScript i baz danych korzysta z milisekund (13-cyfrowy timestamp), a nie z sekund (10-cyfrowy timestamp). Przy integracji z zewnętrznymi systemami trzeba upewnić się co do oczekiwanej precyzji — przekazanie milisekund tam, gdzie spodziewane są sekundy, da datę oddaloną o około 11 000 lat w przyszłość.
- Uważaj na problem roku 2038
- Systemy przechowujące Unix timestamp w 32-bitowych liczbach całkowitych ze znakiem przepełnią się 19 stycznia 2038 o godz. 03:14:07 UTC. Należy zaudytować starsze systemy pod kątem 32-bitowych pól timestamp i zmigrować je do 64-bitowych liczb całkowitych albo łańcuchów ISO 8601. Nowoczesne języki i bazy danych domyślnie używają już 64-bitowych timestamp, ale systemy wbudowane, starsze bazy oraz systemy plików nadal mogą być narażone.
- Nigdy nie polegaj na zegarze klienta w kontekście bezpieczeństwa
- Zegar urządzenia klienta można ustawić na dowolną wartość — przypadkowo lub złośliwie. Nie należy używać timestamp dostarczonego przez klienta do logiki krytycznej dla bezpieczeństwa, takiej jak weryfikacja wygaśnięcia JWT, limitów sesji czy ograniczania liczby zapytań. Timestamp należy zawsze walidować po stronie serwera w oparciu o zaufane źródło czasu.
- Używaj ISO 8601 do wymiany czytelnej dla człowieka
- Gdy potrzebny jest format daty zarówno parsowalny maszynowo, jak i czytelny dla człowieka — na przykład w plikach logów, plikach konfiguracyjnych czy odpowiedziach API, do których zagląda programista — najlepszym wyborem jest ISO 8601 (np. 2025-03-14T15:37:12Z). Jest sortowalny leksykograficznie, jednoznaczny i obsługiwany praktycznie przez wszystkie nowoczesne parsery.
Najczęściej zadawane pytania
Dlaczego czas Unix zaczyna się 1 stycznia 1970?
Czym jest problem roku 2038?
Czym różnią się timestamp w sekundach, milisekundach i mikrosekundach?
Czy czas Unix uwzględnia sekundy przestępne?
Czy Unix timestamp może być ujemny?
Jak pobrać aktualny Unix timestamp w JavaScript, Pythonie lub innych językach?
Jak skonwertować czas epoch na datę czytelną dla człowieka?
Jaki jest aktualny Unix timestamp?
Muszę zdebugować timestamp w odpowiedzi mojego API — jak go skonwertować?
Jak pobrać aktualny Unix timestamp w Pythonie / JavaScript / Go?
Co dzieje się z Unix timestamp przy zmianach czasu letniego?
Mam timestamp w milisekundach — jak go skonwertować na sekundy?
Powiązane narzędzia
Zobacz wszystkie narzędzia →Konwerter systemów liczbowych — binary, hex, decimal i octal
Narzędzia konwersji
Konwertuj między systemami binarnym, szesnastkowym, dziesiętnym i ósemkowym (2–36) w czasie rzeczywistym. Bezpłatnie i prywatnie — w przeglądarce.
Koder i dekoder Base64
Kodowanie i formatowanie
Zakoduj i zdekoduj Base64 online za darmo. Konwersja w czasie rzeczywistym z pełną obsługą UTF-8 i emoji. 100% w przeglądarce, bez rejestracji.
Kompresor obrazów online — JPEG, PNG i WebP
Narzędzia konwersji
Kompresja JPEG, PNG i WebP nawet o 80% — w przeglądarce, bez przesyłania na serwer. Wsadowo do 20 obrazów, porównanie przed i po. Prywatnie.
Formatowanie i walidacja JSON
Kodowanie i formatowanie
Formatuj, waliduj i upiększaj JSON w przeglądarce. Bezpłatne narzędzie z kontrolą składni, wykrywaniem błędów i minifikacją. 100% prywatnie.
Dekoder JWT
Narzędzia bezpieczeństwa
Dekoduj JWT online darmowym dekoderem JWT. Sprawdź header, payload, signature, claims i wygaśnięcie. W 100% w przeglądarce — token nie opuszcza urządzenia.
Przelicznik długości — metryczne, imperialne i więcej
Narzędzia konwersji
Przelicz 16 jednostek długości natychmiast — metryczne, imperialne, morskie i astronomiczne. 1 cal = 2,54 cm. Za darmo, prywatnie, w przeglądarce.