Konwerter znacznika czasu Unix

Epoka Unix rozpoczęła się o 00:00:00 UTC 1 stycznia 1970 roku, a każda sekunda od tego czasu to liczba. Ten konwerter czyta znacznik czasu w sekundach albo milisekundach, zamienia go w czytelną datę UTC i mówi, jak dawno temu (albo jak daleko w przyszłości) to było. Kierunek odwrotny przyjmuje dowolny ciąg daty, który PHP potrafi sparsować, ISO 8601, RFC 2822, „next Monday”, i zwraca wartość epoki.

Jak przekonwertować znacznik czasu Unix

  1. 1

    Wklej znacznik czasu

    Przyjmuje sekundy (10 cyfr dla bieżących dat) albo milisekundy (13 cyfr); narzędzie samo wykrywa, które.

  2. 2

    Odczytaj datę UTC

    Otrzymujesz kanoniczny ciąg Y-m-d H:i:s UTC oraz zwrot względny w rodzaju „2 godziny temu”.

  3. 3

    Albo idź w drugą stronę

    Wpisz datę: „2025-01-15 14:30:00”, „Jan 15 2025”, „now -1 week”: i uzyskaj pasujący znacznik czasu.

  4. 4

    Skopiuj i użyj

    Wklej znacznik czasu do zapytania w logach, żądania API albo klauzuli where w bazie danych.

Epoka, milisekundy i rok 2038

Znaczniki czasu Unix to lingua franca logów serwera, API i baz danych. Znajomość kilku punktów odniesienia w tym formacie pomaga zweryfikować zdrowy rozsądek tego, na co patrzysz.

Wartości odniesienia

Znacznik czasu Znaczenie
0 1970-01-01 00:00:00 UTC, epoka
1000000000 2001-09-09 01:46:40 UTC, impreza „miliarda sekund”
1600000000 2020-09-13 12:26:40 UTC
1700000000 2023-11-14 22:13:20 UTC
2147483647 2038-01-19 03:14:07 UTC, przepełnienie 32-bitowego int ze znakiem

Sekundy a milisekundy a mikrosekundy

  • 10 cyfr (1700000000) = sekundy. Unix, PHP, Postgres, MySQL, Go time.Unix.
  • 13 cyfr (1700000000000) = milisekundy. JavaScript Date.now(), Java, Kotlin, Kafka.
  • 16 cyfr = mikrosekundy. Używane przez gettimeofday i systemy śledzenia.
  • 19 cyfr = nanosekundy. Go time.Now().UnixNano(), śledzenie wysokiej rozdzielczości.

To narzędzie zakłada sekundy, ale automatycznie przełącza się na milisekundy, gdy dane wejściowe przekraczają 9 999 999 999, co utrzymuje cię w zgodzie z znacznikami czasu JavaScript bez wymuszania listy rozwijanej.

Problem roku 2038 (Y2K38)

Systemy przechowujące znaczniki czasu w 32-bitowej liczbie całkowitej ze znakiem zawijają się 19 stycznia 2038 roku o 03:14:07 UTC. Każdy kod wciąż używający time_t jako int32 zobaczy daty skaczące w tył do 1901 roku. Rozwiązaniem jest przechowywanie 64-bitowe, które kupuje kolejne ~292 miliardy lat, mnóstwo zapasu.

Najczęściej zadawane pytania

Patrzysz na milisekundy od epoki, a nie na sekundy. Date.now() i new Date().getTime() w JavaScript zwracają milisekundy. Narzędzie wykrywa wartości powyżej 9 999 999 999 i automatycznie dzieli przez 1000.

Znacznik czasu Unix jest z definicji zawsze w UTC, to absolutny moment w czasie, a nie godzina na zegarze ściennym. Aby wyświetlić go w Warszawie albo innej strefie, przelicz zwróconą tu datę UTC konwerterem stref czasowych albo dodaj przesunięcie samodzielnie (Warszawa zimą = UTC+01:00, latem UTC+02:00).

Wszystko, co rozumie parser DateTime w PHP: 2025-01-15, 2025-01-15T14:30:00Z, Jan 15 2025 2:30 PM, next Monday, now - 1 hour, w stylu Unix @1700000000. Parser oczekuje formatów ISO/liczbowych albo angielskich słów kluczowych; polskie nazwy miesięcy (np. styczeń) nie są rozpoznawane. Jeśli parsowanie się nie powiedzie, narzędzie pokazuje podpowiedź z popularnymi formatami.

Nie. Narzędzie przetwarza wartość na potrzeby żądania i zwraca wynik, nic na temat twoich znaczników czasu nie jest przechowywane ani nigdzie wysyłane.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach