Skip to main content

Konwertuj między znacznikami czasu Unix a czytelnymi datami.

Unix
1788701184
Milisekundy
1788701184000
ISO 8601
2026-09-06T13:26:24.000Z
UTC
2026-09-06 13:26:24
Względnie
0s ago
Wszystkie obliczenia wykonywane są lokalnie w przeglądarce. Dane nie są wysyłane na serwer.

Wyniki mają charakter informacyjny. Potwierdź je w innych źródłach.

Czas uniksowy i dlaczego daty lądują w 1970

Czas uniksowy liczy sekundy od 1 stycznia 1970 UTC. To pojedyncza liczba całkowita bez przypisanej strefy, co czyni ją idealną do przechowywania i porównywania — i typowym źródłem błędów o czynnik tysiąca.

Jak to działa

  • Przelicza między znacznikiem całkowitym a czytelną datą w UTC i w Twojej strefie lokalnej.
  • Rozpoznaje jednostkę po rzędzie wielkości: 10 cyfr to sekundy, 13 milisekundy, 16 mikrosekundy, 19 nanosekundy.
  • Pomija sekundy przestępne, tak jak sam czas uniksowy — uniksowa doba to zawsze dokładnie 86 400 sekund.
sekundy od 1970-01-01T00:00:00Z

1 000 000 000    →  2001-09-09   (10 cyfr, sekundy)
1 700 000 000    →  2023-11-14   (10 cyfr, sekundy)
1 700 000 000 000 →  2023-11-14  (13 cyfr, milisekundy)

2^31 − 1 = 2 147 483 647 → 2038-01-19T03:14:07Z

Przykład z liczbami

Klasyczny błąd: znacznik z JavaScriptu podany czemuś, co oczekuje sekund.

  1. Date.now() zwraca 1750000000000 — milisekundy, 13 cyfr
  2. przekazane systemowi oczekującemu sekund, czytane jest jako 1 750 000 000 000 sekund
  3. to mniej więcej rok 57 442 — albo, gdy pole się przepełni, 1970
  4. poprawka: Math.floor(Date.now() / 1000) → 1750000000

Ilekroć data wychodzi na 1970 albo na absurdalnie odległą przyszłość, przyczyną prawie zawsze jest ten czynnik tysiąca. Policz cyfry, zanim zaczniesz debugować cokolwiek innego.

Jak czytać wynik

  • Znacznik nie ma strefy czasowej. Pokazanie go jako daty lokalnej to decyzja prezentacji; zapisana liczba zawsze jest w UTC. To, że dwaj użytkownicy widzą różne daty dla tego samego znacznika, jest poprawne, a nie błędne.
  • Systemy trzymające sekundy w 32-bitowej liczbie ze znakiem przepełnią się 19 stycznia 2038. Cokolwiek ma żyć długo, powinno używać 64 bitów.
  • Ujemne znaczniki oznaczają daty sprzed 1970 i są poprawne, ale obsługa bywa różna — część platform i baz je odrzuca albo źle przetwarza.
  • Ponieważ sekundy przestępne są pomijane, czas uniksowy nie jest prawdziwą liczbą sekund SI od epoki. Dla niemal wszystkiego to bez znaczenia; do precyzyjnego mierzenia odstępów użyj zegara monotonicznego.

Częste pytania

Dlaczego moja data pokazuje 1 stycznia 1970?
Do przelicznika trafiło zero, null albo nieprzetworzony napis, który stał się zerem. To prawie nigdy nie jest prawdziwa data z 1970 — sprawdź, co faktycznie przekazał Twój kod.
Sekundy czy milisekundy — jak poznać?
Policz cyfry. Dziesięć to sekundy i data wypadnie w przedziale 2001–2286. Trzynaście to milisekundy. JavaScript używa milisekund; większość narzędzi uniksowych, baz i API używa sekund.