raatools/

Konwerter znacznika czasu Unix

Przelicz znaczniki czasu Unix na czytelne daty.

Current Timestamp
Sekundy
1779110685
Milisekundy
1779110685126
ISO: 2026-05-18T13:24:45.126Z

Czym jest znacznik czasu Unix?

Znacznik czasu Unix (zwany też czasem Epoch lub czasem POSIX) to liczba sekund, które upłynęły od 1 stycznia 1970 roku o godzinie 00:00:00 UTC. Ten moment nazywa się epoką Unix. Znaczniki czasu zapewniają uniwersalny, niezależny od strefy czasowej sposób reprezentowania konkretnej chwili w czasie jako pojedynczej liczby, co sprawia, że są standardem dla przechowywania i przesyłania dat w systemach komputerowych.

Na przykład znacznik czasu 1700000000 reprezentuje 14 listopada 2023 o 22:13:20 UTC. Znaczniki czasu zwiększają się o jeden co sekundę i są zawsze w UTC, co eliminuje niejednoznaczność stref czasowych. Ta prostota sprawia, że znaczniki czasu są używane w bazach danych, API, plikach logów, systemach buforowania i praktycznie każdej aplikacji backendowej.

Sekundy a milisekundy

Większość systemów Unix i języków takich jak Python, PHP i Ruby używa znaczników czasu w sekundach (10-cyfrowa liczba od 2024 roku). Jednak JavaScript, Java i niektóre bazy danych używają milisekund (13-cyfrowa liczba). To narzędzie automatycznie wykrywa format — jeśli liczba ma 13 cyfr, traktuje ją jako milisekundy. Możesz też ręcznie przełączać się między dwoma formatami.

Jak korzystać z tego narzędzia

Wpisz znacznik czasu Unix (w sekundach lub milisekundach), aby przekonwertować go na czytelną datę i godzinę, lub wybierz datę i godzinę, aby uzyskać odpowiadający znacznik czasu. Aktualny znacznik czasu jest pokazywany na żywo jako punkt odniesienia. Narzędzie wyświetla wyniki zarówno w UTC, jak i w Twojej lokalnej strefie czasowej.

Typowe zastosowania znaczników czasu

  • Logowanie: Rejestrowanie dokładnych czasów zdarzeń w logach aplikacji i serwerowych do debugowania i audytu.
  • Bazy danych: Przechowywanie dat w znormalizowanym, niezależnym od strefy czasowej formacie, który poprawnie sortuje.
  • API: Niezawodne przesyłanie dat między systemami bez niejednoznaczności parsowania stref czasowych.
  • Buforowanie: Śledzenie czasów tworzenia i wygaśnięcia pamięci podręcznej za pomocą prostych porównań numerycznych.
  • Ograniczanie szybkości: Wymuszanie limitów żądań przez porównywanie bieżącego czasu z przechowywanymi znacznikami czasu.

Ważne daty w czasie Unix

  • Epoka Unix (1 stycznia 1970): Znacznik czasu 0 — punkt startowy dla czasu Unix.
  • Y2K (1 stycznia 2000): Znacznik czasu 946 684 800.
  • Problem roku 2038 (19 stycznia 2038): 32-bitowe znaczniki czasu ze znakiem przepełniają się przy 2 147 483 647. Systemy używające 32-bitowego czasu przekroczą do wartości ujemnych lub się zawieszą.
  • Billenium (9 września 2001): Znacznik czasu 1 000 000 000 — pierwszy 10-cyfrowy znacznik czasu.

Problem roku 2038

Wiele starszych systemów przechowuje znaczniki czasu jako 32-bitowe liczby całkowite ze znakiem, które mogą przechowywać wartości do 2 147 483 647. To maksimum zostanie osiągnięte 19 stycznia 2038 o 03:14:07 UTC. Po tej chwili 32-bitowe znaczniki czasu przepełnią się i zawrócą do wartości ujemnych, potencjalnie reprezentując daty z 1901 roku. Nowoczesne systemy 64-bitowe nie są dotknięte — 64-bitowy znacznik czasu nie przepełni się przez kolejne 292 miliardy lat.

Czy moje dane są bezpieczne?

Tak. Wszystkie konwersje odbywają się całkowicie w przeglądarce za pomocą obiektu Date JavaScript. Twoje dane nigdy nie opuszczają urządzenia. Żadne znaczniki czasu ani daty nie są rejestrowane, przechowywane ani przesyłane.

Często zadawane pytania

Czy znaczniki czasu Unix uwzględniają sekundy przestępne?

Nie. Znaczniki czasu Unix celowo ignorują sekundy przestępne. Każdy dzień jest traktowany jako dokładnie 86 400 sekund. Gdy wystąpi sekunda przestępna, znacznik czasu Unix albo powtarza sekundę, albo ją pomija, zależnie od systemu operacyjnego. To uproszczenie sprawia, że arytmetyka na znacznikach czasu jest prosta.

Jak uzyskać bieżący znacznik czasu Unix w kodzie?

W JavaScript: Math.floor(Date.now() / 1000). W Python: import time; int(time.time()). W PHP: time(). W Bash: date +%s. Wszystkie zwracają bieżący czas jako znacznik czasu Unix w sekundach.