Przejdź do treści
Quaestio

Znacznik czasu Unix

Wpisz znacznik czasu, a zobaczysz odpowiadającą mu chwilę, albo wpisz datę, a zobaczysz liczbę.

Znacznik czasu teraz

–

Sekundy, milisekundy lub mikrosekundy. Liczby ujemne sięgają przed 1970 rok.

  • UTCczwartek, 4 września 2025 15:33:20
  • Twój czas–
  • ISO 86012025-09-04T15:33:20Z
  • W sekundach1757000000
  • W milisekundach1757000000000

Wpisz w formacie 2026-09-12 lub 2026-09-12T14:30. Bez strefy czasowej data jest odczytywana jako UTC.

1789214400

Punkty orientacyjne

LiczbaChwila
Początek epoki1970-01-01T00:00:00Z
Miliard sekund2001-09-09T01:46:40Z
Koniec 32 bitów2038-01-19T03:14:07Z
Dwa miliardy sekund2033-05-18T03:33:20Z

Czas uniksowy nie uwzględnia sekund przestępnych. Doba uniksowa ma zawsze dokładnie 86 400 sekund.

Osadź

Osadź to narzędzie na swojej stronie

Skopiuj kod i wklej go tam, gdzie ma się pojawić narzędzie, np. we wpisie na blogu albo na stronie szkoły. To nic nie kosztuje, ramka nie zawiera reklam, a narzędzie liczy w przeglądarce odwiedzającego.

Jak to działa

Czas uniksowy to liczba sekund od 1 stycznia 1970 roku w UTC. Punkt zerowy wybrano, bo wypadał wygodnie blisko momentu wprowadzenia tej miary, a nie dlatego, że sam coś oznacza.

Miara nie uwzględnia sekund przestępnych. Doba uniksowa ma zawsze dokładnie 86 400 sekund, nawet w dniach, w których do UTC dodano sekundę. Upraszcza to arytmetykę, a czas uniksowy i tak podąża za datą i godziną UTC. Różnica między dwoma znacznikami czasu nie zawsze jest jednak czasem, który naprawdę upłynął. Od 1972 roku dodano 27 sekund przestępnych, których czas uniksowy nie liczy. Poza nawigacją satelitarną nie ma to znaczenia.

Jednostka jest odgadywana na podstawie wielkości liczby. Wszystko poniżej dziesięciu miliardów jest traktowane jako sekundy, co wystarcza do roku 2286, a większe liczby jako milisekundy lub mikrosekundy. Granica leży tam, by rok bliski obecnemu był odczytywany poprawnie.

Liczby ujemne sięgają przed 1970 rok i działają tak samo.

Licznik 32-bitowy ze znakiem kończy się 19 stycznia 2038 roku o 3:14:07 UTC, po czym przeskakuje na rok 1901. To problem roku 2038, ten sam rodzaj błędu co problem roku 2000, tyle że w systemie dwójkowym. Systemy liczące na 64 bitach go nie mają.

Data bez strefy czasowej jest odczytywana jako UTC, więc ten sam tekst zawsze daje tę samą liczbę, niezależnie od miejsca odczytu.

Jak odczytywana jest liczba

Spacje i podkreślenia w liczbie są usuwane przed odczytem. Gdy jednostka nie jest wybrana, decyduje wielkość: poniżej dziesięciu miliardów liczba jest odczytywana jako sekundy, od dziesięciu miliardów jako milisekundy, a od stu bilionów jako mikrosekundy. Przez te granice wartość w milisekundach sprzed 26 kwietnia 1970 i wartość w mikrosekundach sprzed 3 marca 1973 są odczytywane w złej jednostce. Nanosekundy nie są obsługiwane: 1 757 000 000 000 000 000 nanosekund, czyli 4 września 2025, zostanie odczytane jako mikrosekundy i trafi do roku 57647. W takim przypadku usuń trzy ostatnie cyfry. Według standardu ECMAScript kalendarz przeglądarki sięga 100 milionów dni w obie strony od 1970 roku, do 13 września roku 275760, a liczby spoza tego zakresu dają komunikat o błędzie.

Przykład: gdzie kończą się 32 bity

2³¹ − 1 = 2 147 483 647 to największa liczba, jaką może przechować 32-bitowy licznik ze znakiem. Sekundę później taki licznik ma wartość −2 147 483 648, którą narzędzie pokazuje jako 13 grudnia 1901, 20:45:52 UTC. Chwile poza tymi dwiema granicami dostają ostrzeżenie: 2 147 483 648 je wywołuje, a 2 147 483 647 nie.

Daty jako tekst

W JavaScripcie 2026-09-12T14:30 jest odczytywane jako czas lokalny, ale 2026-09-12 jako UTC, zgodnie ze standardem ECMAScript. Narzędzie odczytuje oba zapisy jako UTC, więc 2026-09-12T14:30 zawsze daje 1 789 223 400. Ułamki sekundy są zaokrąglane w dół do pełnej sekundy.

Daty, które nie istnieją, są odrzucane: 2026-02-30 daje komunikat o błędzie, a Date w V8, silniku Chrome i Edge, po cichu zamienia ją na 2 marca. Godzina 24:00 jest przyjmowana jako koniec doby, na co pozwala ECMAScript.

Sekundy przestępne i czas przed 1970 rokiem

POSIX definiuje sekundy od początku epoki wzorem i wprost stwierdza, że ich związek z rzeczywistym czasem UTC nie jest określony. ECMAScript mówi, że dla chwili wewnątrz sekundy przestępnej nie ma wartości czasu. Dlatego 2016-12-31T23:59:60Z, ostatnia sekunda przestępna, daje komunikat, że taki czas nie istnieje, sekunda wcześniej daje 1 483 228 799, a północ po niej 1 483 228 800. Według IERS różnica między czasem atomowym TAI a UTC wynosiła 10 sekund w 1972 roku i od 1 stycznia 2017 wynosi 37 sekund. Biuletyn C 72 IERS zapowiada, że na koniec grudnia 2026 sekunda przestępna nie zostanie dodana.

Dla wartości ujemnych POSIX pozostawia ten związek nieokreślonym. Narzędzie idzie za ECMAScript, który liczy wstecz według kalendarza gregoriańskiego także przed jego wprowadzeniem.

Źródła

Jak sprawdzamy narzędzia