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.
- Date.now() zwraca 1750000000000 — milisekundy, 13 cyfr
- przekazane systemowi oczekującemu sekund, czytane jest jako 1 750 000 000 000 sekund
- to mniej więcej rok 57 442 — albo, gdy pole się przepełni, 1970
- 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.