Skip to main content
CheckTown
Konwertery

Konwerter znacznika czasu Unix: Czytelne daty ↔ Epoch Time

Opublikowano 5 min czytania
W tym artykule

Czym jest znacznik czasu Unix?

Znacznik czasu Unix (zwany też czasem epoki) to liczba sekund, które upłynęły od 1 stycznia 1970 roku o godzinie 00:00:00 UTC. Jest to najpowszechniej stosowana metoda reprezentowania czasu w systemach komputerowych, ponieważ jest niezależna od strefy czasowej, przechowywana jako pojedyncza liczba całkowita i łatwa do obliczeń arytmetycznych.

Znaczniki czasu Unix są używane praktycznie w każdym języku programowania i bazie danych. JavaScript używa milisekund (podziel przez 1000, aby uzyskać sekundy), podczas gdy większość innych języków używa sekund. Problem roku 2038 dotyczy systemów 32-bitowych, które przepełnią się, gdy znacznik czasu przekroczy 2^31.

Jak działa konwersja znaczników czasu

Konwerter tłumaczy w obu kierunkach między znacznikami czasu Unix a datami czytelnymi dla człowieka.

  • Epoka na datę — konwertuje znacznik czasu Unix na sformatowany ciąg daty i godziny
  • Data na epokę — konwertuje ciąg daty/godziny na odpowiadający mu znacznik czasu Unix
  • Obsługa stref czasowych — wyświetla skonwertowane czasy jednocześnie w UTC i lokalnej strefie czasowej

Wypróbuj za darmo — bez rejestracji

Konwertuj znacznik czasu →

Kiedy stosować konwersję znaczników czasu

Konwersja znaczników czasu jest przydatna podczas pracy z datami przechowywanymi jako liczby w API, bazach danych lub logach.

  • Debugowanie API — konwertuj znaczniki czasu Unix w odpowiedziach API na czytelne daty
  • Analiza logów — interpretuj pola ze znacznikami czasu w plikach logów i rekordach baz danych
  • Harmonogramowanie — weryfikuj, czy obliczenia dat w kodzie generują poprawne wartości znaczników czasu Unix

Najczęściej zadawane pytania

Jaka jest różnica między znacznikiem czasu Unix w sekundach a milisekundach?

Większość systemów Unix używa sekund. Date.now() w JavaScript zwraca milisekundy. Jeśli znacznik czasu wygląda na 1000 razy za duży (np. 1708600000000 zamiast 1708600000), jest w milisekundach. Zawsze sprawdzaj wielkość wartości i dziel przez 1000, jeśli pracujesz ze znacznikami czasu JavaScript w kontekście oczekującym sekund.

Czym jest problem roku 2038?

19 stycznia 2038 roku 32-bitowe liczby całkowite ze znakiem używane do przechowywania znaczników czasu Unix przepełnią się, zawijając do wartości ujemnej reprezentującej rok 1901. Systemy nadal używające 32-bitowych znaczników czasu przestaną działać. Nowoczesne systemy używają 64-bitowych liczb całkowitych, które nie przepełnią się przez miliardy lat.

Czy znaczniki czasu Unix są zależne od czasu letniego?

Nie. Znaczniki czasu Unix zawsze reprezentują sekundy od epoki w UTC, niezależnie od czasu letniego. Korekta czasu letniego ma zastosowanie dopiero podczas konwersji na wyświetlanie czasu lokalnego. To jedna z kluczowych zalet przechowywania czasów jako znaczników czasu Unix.

Powiązane narzędzia