RevealTheme logo

Konwerter znaczników czasu Unix

Konwertuj między znacznikami czasu Unix a czytelnymi datami. Aktualizuje się w czasie rzeczywistym.

Jak korzystać z tego narzędzia

  1. 1

    Type or paste a Unix timestamp in seconds into the top field — the bottom field updates to the matching UTC date.

  2. 2

    Or type a date into the bottom field — the top field updates to the matching Unix timestamp in seconds.

  3. 3

    Click 'Now' to fill both fields with the current moment.

  4. 4

    Select and copy the value you need from either field.

Czym jest znacznik czasu Unix i dlaczego używają go interfejsy API?

Znacznik czasu Unix (nazywany również czasem epoki lub czasem POSIX) to pojedyncza liczba całkowita reprezentująca liczbę sekund, które upłynęły od 1 stycznia 1970 roku o godzinie 00:00:00 UTC – momentu znanego jako „epoka Unix”. Konwencja ta wywodzi się z pierwszego systemu operacyjnego Unix w Bell Labs w latach 70. Jej przewaga nad czytelnymi datami polega na tym, że jest pojedynczą liczbą, niezależną od strefy czasowej, łatwą do porównywania i wykonywania na niej działań arytmetycznych oraz jednoznaczną między systemami. Każda baza danych, plik dziennika, JWT, token OAuth i większość nowoczesnych interfejsów API używa wewnętrznie znaczników czasu Unix. Oświadczenie „exp” w JWT to znacznik czasu Unix; pole „created_at” w większości interfejsów API to znacznik Unix lub wywodzący się z niego ciąg ISO 8601; czasy modyfikacji plików w systemach Linux/macOS są przechowywane jako znaczniki Unix. Istnieją dwie powszechne odmiany, które należy rozróżniać: sekundy (oryginalna konwencja Unix, używana w JWT, OAuth i metadanych plików Linuksa) oraz milisekundy (używane w Date.now() w języku JavaScript, System.currentTimeMillis() w języku Java oraz wielu nowoczesnych interfejsach API). Znacznik 10-cyfrowy jest podany w sekundach; 13-cyfrowy w milisekundach. To narzędzie obsługuje obie odmiany: wklej dowolny format w dowolne pole, a my automatycznie go wykryjemy i przekonwertujemy. Drugie pojęcie, które warto znać: ISO 8601 to standardowy czytelny format (2025-12-31T23:59:59Z), ściśle uporządkowany alfabetycznie i możliwy do przeanalizowania wszędzie. Gdy możesz wybierać między przechowywaniem znaczników jako liczb całkowitych Unix a ciągów ISO 8601, wybierz Unix ze względu na wydajność, a ISO 8601 ze względu na czytelność.

Typowe przypadki użycia

  • Zdekoduj oświadczenie 'exp' lub 'iat' z ładunku JWT, aby zobaczyć, kiedy wygasa.

  • Konwertuj znaczniki czasu z odpowiedzi API na lokalną strefę czasową na potrzeby debugowania.

  • Generuj znaczniki czasu do ustawiania nagłówków wygaśnięcia plików cookie.

  • Przekształcaj znaczniki czasu z bazy danych (sekundy epoki) na ISO 8601 w celu parsowania logów.

  • Oblicz czas, jaki upłynął między dwoma zdarzeniami, odejmując ich znaczniki czasu Unix.

  • Planuj zadania cron za pomocą polecenia at, używając jawnych znaczników czasu Unix.

Najczęściej zadawane pytania

Dlaczego rok 1970?
To konwencja z pierwszych systemów Unix z Bell Labs. Wybór był arbitralny, ale się przyjął. 32-bitowa liczba całkowita ze znakiem, która pierwotnie ją przechowywała, przepełni się o godzinie 2:14:07 UTC 19 stycznia 2038 roku – to „problem roku 2038”. Nowoczesne systemy używają 64-bitowych liczb całkowitych, przesuwając przepełnienie do roku 292 277 026 596.
Sekundy czy milisekundy?
Znaczniki czasu Unix są podawane w sekundach (liczby 10-cyfrowe w 2025 roku). Date.now() w języku JavaScript i System.currentTimeMillis() w języku Java używają milisekund (13 cyfr). Zawsze sprawdzaj, czego oczekuje wywoływany interfejs API: brakujący lub nadmiarowy czynnik 1000 to błąd znaczników czasu numer jeden na produkcji.
Jak wyświetlić ten znacznik w mojej strefie czasowej?
Znaczniki czasu Unix są niezależne od strefy czasowej: reprezentują ten sam moment wszędzie. Wyświetl go w swojej lokalnej strefie, przekazując znacznik do formatera dat w Twoim języku z odpowiednią strefą. W języku JavaScript: new Date(ts*1000).toLocaleString('pl-PL', { timeZone: 'America/New_York' }).
Jaka jest różnica między czasem Unix a UTC?
Czas Unix to pojedyncza liczba; UTC to reprezentacja zawierająca rok, miesiąc, dzień, godzinę, minutę i sekundę. Znaczniki Unix są zgodnie z konwencją zawsze w UTC: nie istnieje „czas Unix w EST”. Wyświetlanie może odbywać się w dowolnej strefie, ale podstawowa liczba jest uniwersalna.
Jak obsługiwane są sekundy przestępne?
Czas Unix ignoruje sekundy przestępne: udaje, że każdy dzień ma dokładnie 86 400 sekund. Oznacza to, że czas Unix może na chwilę się cofnąć lub zamarznąć podczas wstawiania sekund przestępnych. W przypadku większości aplikacji jest to niewidoczne; w przypadku systemów o wysokiej precyzji (GPS, handel finansowy) użyj TAI (Międzynarodowego Czasu Atomowego).
Czy znaczniki czasu Unix mogą być ujemne?
Tak: reprezentują wówczas daty sprzed 1970 roku. Ujemne znaczniki działają w większości języków, choć niektóre starsze systemy je odrzucają.
Czym jest znacznik czasu ISO 8601?
ISO 8601 to międzynarodowy standard formatu daty/czasu czytelnego dla człowieka: RRRR-MM-DDTHH:MM:SSZ (Z = UTC lub +HH:MM dla innych przesunięć). Przykład: 2025-12-31T23:59:59Z. Ciągi ISO 8601 są sortowane alfabetycznie w porządku chronologicznym, co czyni je doskonałymi do plików dzienników i zapytań do baz danych.

Powiązane narzędzia