Utilia

Konwerter timestampów Unix

Zamieniaj timestampy Unix w sekundach lub milisekundach na czytelne daty w czasie lokalnym, UTC i ISO 8601 oraz dowolną datę z powrotem na czas epoch.

Bieżący timestamp
–

Timestamp → data

Czas lokalny
–
UTC
–
ISO 8601
–

Data → timestamp

Sekundy
–
Milisekundy
–

Jak korzystać z konwertera timestampów Unix

  1. Aby zamienić timestamp na datę, wklej wartość epoch, np. 1700000000 lub 1700000000000. Narzędzie po wielkości liczby rozpozna, czy podano sekundy, czy milisekundy.
  2. Odczytaj wynik jako Czas lokalny, w UTC i w formacie ISO 8601.
  3. Aby przeliczyć w drugą stronę, wpisz datę i godzinę; narzędzie zwróci odpowiadającą jej wartość epoch zarówno w sekundach, jak i w milisekundach.
  4. Spójrz na Bieżący timestamp na górze – aktualizuje się na żywo, gdy potrzebujesz „teraz” jako wartości epoch.

Czym jest timestamp Unix?

Timestamp Unix, nazywany też czasem epoch lub czasem POSIX, to liczba sekund, które upłynęły od epoki Uniksa: 1 stycznia 1970 r., godz. 00:00:00 UTC. Na przykład 1700000000 odpowiada 14 listopada 2023 r., godz. 22:13:20 UTC (w Polsce była wtedy 23:13:20). Daty sprzed 1970 r. zapisuje się liczbami ujemnymi.

Programiści lubią timestampy, bo to jedna liczba niezależna od stref czasowych, zmiany czasu na letni i formatów dat. Porównanie dwóch momentów to zwykłe odejmowanie, a sortowanie według czasu – zwykłe sortowanie liczbowe. Spotkasz je w bazach danych, plikach logów, odpowiedziach API, polach JWT takich jak exp i iat, metadanych plików i harmonogramach w stylu cron.

Pamiętaj, że czas Unix ignoruje sekundy przestępne: każda doba liczy dokładnie 86 400 sekund. Dzięki temu arytmetyka jest prosta, ale timestamp nie jest ścisłą liczbą wszystkich fizycznych sekund od 1970 r.

Sekundy a milisekundy

Najczęstsze źródło pomyłek to jednostka. Tradycyjne systemy uniksowe, PHP, time.time() w Pythonie i większość baz danych używają sekund, co dziś daje liczbę 10-cyfrową. Date.now() w JavaScripcie, System.currentTimeMillis() w Javie i wiele API JSON używają milisekund, co daje liczbę 13-cyfrową. Potraktowanie milisekund jak sekund przenosi cię dziesiątki tysięcy lat w przyszłość, a sekund jak milisekund – do stycznia 1970 r. Narzędzie patrzy na wielkość liczby, aby automatycznie wybrać właściwą jednostkę, a przy zamianie daty pokazuje obie wartości, więc skopiujesz tę, której oczekuje twój system.

Czas lokalny, UTC i ISO 8601

Timestamp wskazuje jeden precyzyjny moment, ale ten moment wyświetla się różnie w zależności od strefy czasowej. Wynik lokalny używa strefy ustawionej na twoim urządzeniu (w Polsce CET zimą i CEST latem), a UTC to uniwersalny punkt odniesienia używany przez serwery i logi. ISO 8601, np. 2023-11-14T22:13:20.000Z, to jednoznaczny format tekstowy zalecany do wymiany dat między systemami; końcowe Z oznacza UTC.

Problem roku 2038

Wiele starszych systemów przechowuje czas Unix jako 32-bitową liczbę całkowitą ze znakiem, której maksymalna wartość to 2 147 483 647. Ten limit zostanie osiągnięty 19 stycznia 2038 r. o 03:14:07 UTC. Sekundę później taki licznik przepełni się do dużej liczby ujemnej i zostanie odczytany jako data z grudnia 1901 r. Nowoczesne systemy operacyjne, bazy danych i języki w dużej mierze przeszły na 64-bitowe wartości czasu, które przesuwają limit o miliardy lat, ale urządzenia wbudowane, stare formaty plików i dawne kolumny w bazach mogą być nadal zagrożone. Sam JavaScript nie ma tego problemu, bo przechowuje czas jako milisekundy w 64-bitowej liczbie zmiennoprzecinkowej.

Prywatność

Wszystkie konwersje odbywają się w twojej przeglądarce przy użyciu jej wbudowanych funkcji dat. Żadne timestampy ani daty nie są wysyłane na serwer.

Najczęściej zadawane pytania

Jak sprawdzić, czy mój timestamp jest w sekundach, czy w milisekundach?

Policz cyfry. Bieżąca data ma 10 cyfr w sekundach i 13 cyfr w milisekundach. Narzędzie stosuje tę samą logikę automatycznie, na podstawie wielkości liczby.

Dlaczego czas lokalny różni się od UTC?

Oba opisują ten sam moment. Czas lokalny uwzględnia przesunięcie strefy czasowej twojego urządzenia i zasady zmiany czasu, a UTC nie ma przesunięcia. Gdy podajesz godzinę osobom z innych krajów, UTC lub ISO 8601 pozwala uniknąć nieporozumień.

Czy timestamp Unix może być ujemny?

Tak. Wartości ujemne oznaczają momenty sprzed 1 stycznia 1970 r. UTC. Na przykład -86400 to 31 grudnia 1969 r., godz. 00:00:00 UTC.

Czy timestamp Unix zawiera strefę czasową?

Nie. Timestamp zawsze odnosi się do UTC i nie niesie informacji o strefie czasowej. Strefa ma znaczenie dopiero przy wyświetlaniu go jako daty i godziny w kalendarzu.

Czy moje systemy przestaną działać w 2038 roku?

Tylko jeśli przechowują czas w 32-bitowej liczbie całkowitej ze znakiem. Sprawdź starsze bazy danych, oprogramowanie urządzeń wbudowanych i binarne formaty plików. Wszystko, co używa czasu 64-bitowego, jest bezpieczne w przewidywalnej przyszłości.