Przejdź do treści głównej
FreeOnlineTools Go
Polski
Jak

Jak Konwertować Unix Timestamps na Czytelne Daty

Autor: FreeOnlineTools Team · Zaktualizowano 2026-08-28

Szybka odpowiedź

Unix timestamp = sekundy (lub milisekundy) od 1970-01-01 00:00:00 UTC. Konwertuj do daty z new Date(timestamp * 1000) w JavaScript (sekundy) lub new Date(timestamp) (milisekundy). Użyj naszego Timestamp Converter aby zrobić oba natychmiast.

Wstęp

Unix timestamp (nazywany też epoch time lub POSIX time) to liczba sekund od 1970-01-01 00:00:00 UTC (Unix epoch), wykluczając leap seconds. Jest lingua franca czasu w computing ponieważ to pojedynczy integer, który jest timezone-independent i trywialnie sortowalny. Większość systemów używa sekund; JavaScript i wiele baz danych używa milisekund.

Krok po kroku

  1. Poznaj sekundy i milisekundy

    Większość systemów backendowych i APIs używa sekund (10-cyfrowe znaczniki czasu do 2286). Data JavaScript i natychmiastowe użycie Java w milisekundach (13 cyfr). Zawsze sprawdzaj, jakiej jednostki oczekuje API — zmieszanie ich powoduje przesunięcie daty 1000 (przesunięcie o ~31 lat).

  2. Konwertuj znacznik czasu na czytelną datę

    Wklej znacznik czasu do konwertera znaczników czasu. Wykrywa sekundy i milisekundy na podstawie długości (10 zamiast 13 cyfr) i wyświetla datę w formacie UTC i lokalnej strefie czasowej. W kodzie: new Date(1700000000 * 1000).toISOString() zwraca '2023-11-14T22:13:20.000Z'.

  3. Konwertuj datę na znacznik czasu

    Wprowadź datę i godzinę do konwertera; zwraca znacznik czasu Uniksa. W kodzie: Math.floor(new Date('2026-08-28T12:00:00Z').getTime() / 1000) zwraca sekundy epoki. Zawsze określaj strefę czasową (Z lub przesunięcie), aby uniknąć niejednoznaczności czasu lokalnego.

  4. Prawidłowo obsługuj strefy czasowe

    Sygnatury czasowe systemu Unix są zawsze podawane w formacie UTC — nie mają strefy czasowej. Konwertuj na wyświetlacz lokalny tylko w warstwie prezentacji. Nigdy nie przechowuj czasu lokalnego jako znacznika czasu; przechowuj UTC i konwertuj na wyświetlaczu. Użyj nazw stref czasowych IANA (Ameryka/Nowy Jork) z Intl.DateTimeFormat, aby zapewnić poprawną obsługę czasu letniego.

  5. Oblicz różnice pomiędzy datami

    Odejmij dwa znaczniki czasu, aby uzyskać różnicę w sekundach (lub milisekundach). Podziel przez 60 dla minut, 3600 dla godzin, 86400 dla dni. Skorzystaj z naszego narzędzia Różnica dat, aby uzyskać zakresy przyjazne dla człowieka, lub Kalkulatora wieku, aby uzyskać wiek oparty na dacie urodzenia.

Przykłady

Epoka Uniksa

Wejście: 0 (seconds)

Wyjście: 1970-01-01 00:00:00 UTC

Miliard sekund po epoce

Wejście: 1000000000 (seconds)

Wyjście: 2001-09-09 01:46:40 UTC

Początek 2026 r. w czasie UTC

Wejście: 2026-01-01T00:00:00Z

Wyjście: 1767225600 (sekundy) / 1767225600000 (milisekundy)

Różnica między dwiema datami

Wejście: 1767225600 - 1700000000

Wyjście: 67225600 seconds = 778.08 days ≥2 years 31 days

Typowe problemy

  • Zamieszanie w sekundach i milisekundach: 10-cyfrowy znacznik czasu odczytywany w milisekundach podaje datę 1970; 13-cyfrowy znacznik czasu odczytywany jako sekundy przekracza 32-bitowy int. Wykryj jednostkę według liczby cyfr lub udokumentuj ją wyraźnie w API.
  • Zapisywanie czasu lokalnego jako znacznika czasu: znaczniki czasu to UTC. Jeśli obliczysz Date.now() w przeglądarce ustawionej na UTC-5 i potraktujesz wynik jako lokalny, przejścia na czas letni spowodują przesunięcie danych o godzinę dwa razy w roku.
  • Przepełnienie 32-bitowe w dniu 2038-01-19 03:14:07 UTC (Y2038): systemy używające 32-bitowego znacznika czasu ze znakiem nie mogą przedstawiać dat po tym punkcie. W nowych systemach używaj 64-bitowych lub milisekundowych znaczników czasu.
  • Sekundy przestępne są ignorowane: znaczniki czasu Uniksa pomijają sekundy przestępne, więc różnica między dwoma znacznikami czasu nie jest równa liczbie sekund SI, które upłynęły. Większość aplikacji może to zignorować; precyzyjna astronomia i finanse nie mogą tego zrobić.

Porady

  • Zawsze przechowuj i przesyłaj znaczniki czasu w formacie UTC; konwertuj na czas lokalny tylko w warstwie wyświetlania przy użyciu Intl.DateTimeFormat ze strefą czasową IANA.
  • Użyj ciągów ISO 8601 (np. 2026-08-28T12:00:00Z) dla czytelnego dla człowieka APIs i znaczników czasu do przechowywania — ciągi ISO wyraźnie niosą swoją strefę czasową i są jednoznaczne.
  • Porównując znaczniki czasu, używaj tej samej jednostki (sekund lub milisekund) po obu stronach — niedopasowanie jednostek jest jednym z najczęstszych błędów w datach.
  • Skorzystaj z naszego konwertera sygnatur czasowych, aby podczas debugowania sprawdzić poprawność odpowiedzi API — pokazuje zarówno czas UTC, jak i czas lokalny, dzięki czemu możesz natychmiast wykryć błędy strefy czasowej.

Powiązane narzędzia

Powiązane przewodniki

Referencje