Konwerter UNIX Timestamp (online narzędzie do czasu UNIX)

Aktualny UNIX timestamp

Sekundy
Milisekundy

Timestamp → Data i czas


Data i czas → Timestamp

Konwerter UNIX Timestamp (online narzędzie do czasu UNIX)

Ten konwerter UNIX timestamp pozwoli Ci szybko przekonwertować czas UNIX (epoch time / POSIX time) na datę i godzinę i odwrotnie. Obsługuje timestampy w sekundach i milisekundach, wyświetla czas lokalny, UTC oraz ISO 8601, a wyniki można skopiować jednym kliknięciem.


Co to jest UNIX timestamp (epoch time / POSIX time)?

UNIX timestamp to liczba wyrażająca czas jako liczbę sekund od 1 stycznia 1970 00:00:00 UTC (tzw. epoka UNIXa). W praktyce jest to jeden z najczęściej używanych formatów do przechowywania i przesyłania daty i czasu w systemach, bazach danych, API i logowaniu.

Przykład: 1700000000 odpowiada dacie 14 listopada 2023 22:13:20 UTC.

Dlaczego akurat 1 stycznia 1970?

Początek epoki (1970-01-01) został wybrany podczas projektowania systemu UNIX jako praktyczny punkt odniesienia: jest blisko okresu powstania systemu i umożliwia proste obliczenia czasu.


UNIX timestamp w sekundach vs. milisekundach

UNIX timestamp najczęściej występuje w dwóch formach:

Format timestampuPrzykładTypowe zastosowanie
Sekundy (s)1700000000bazy danych, backend, API, pliki
Milisekundy (ms)1700000000000JavaScript (Date.now()), analityka, szczegółowe logi

Jak rozpoznać, co masz?

  • Sekundy dla „dzisiejszych” dat mają zazwyczaj 10 cyfr.
  • Milisekundy mają zazwyczaj 13 cyfr i są około 1000 razy większe.
  • Orientacyjnie: jeśli wartość jest > 10¹², prawie na pewno są to milisekundy.

Jak używać konwertera UNIX timestamp

1) Timestamp → Data i czas

  1. Wprowadź UNIX timestamp w polu lub kliknij Teraz (aktualny czas UNIX).
  2. Jeśli timestamp jest w milisekundach, aktywuj opcję Milisekundy.
  3. Kliknij Konwertuj (lub naciśnij Enter).
  4. Zostanie wyświetlona konwersja na czas lokalny, UTC i ISO 8601.
  5. Kliknięcie na wynik skopiuje go do schowka.

2) Data i czas → Timestamp

  1. Wybierz datę i czas w formularzu.
  2. Kliknij Konwertuj.
  3. Wynik otrzymasz jako timestamp w sekundach i milisekundach.

Gdzie najczęściej używa się UNIX timestamp?

Czas UNIX znajdziesz praktycznie wszędzie, gdzie pracuje się z czasem w IT:

  • Bazy danych – przechowywanie i porównywanie czasów w MySQL, PostgreSQL, SQLite itp.
  • API – REST/GraphQL często zwraca czas jako timestamp (łatwa serializacja).
  • Logi i monitoring – precyzyjne porządkowanie zdarzeń w czasie.
  • Git – commity zawierają dane czasowe.
  • Systemy plików – czasy takie jak mtime/ctime/atime (ostatnia modyfikacja itp.).
  • JWT – claimy iat (issued at) i exp (expires) są zazwyczaj w sekundach epoki.
  • Linux/Unix shelldate +%s zwraca aktualny timestamp.
  • JavaScriptDate.now() zwraca czas w milisekundach.

Praktyczne przykłady konwersji czasu UNIX

JavaScript (timestamp ↔ data)

// Aktuální UNIX timestamp v sekundách
const tsSeconds = Math.floor(Date.now() / 1000);

// Aktuální timestamp v milisekundách
const tsMs = Date.now();

// Timestamp (s) -> datum
const dateFromSeconds = new Date(1700000000 * 1000);
console.log(dateFromSeconds.toISOString());

// Datum -> timestamp (s)
const ts = Math.floor(new Date("2024-01-01T00:00:00Z").getTime() / 1000);
console.log(ts);

Python (timestamp ↔ datetime)

import time
from datetime import datetime, timezone

# Aktuální timestamp v sekundách
ts = int(time.time())

# Timestamp -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc)

# Datum -> timestamp
ts2 = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp())

SQL (MySQL)

-- Aktuální UNIX timestamp (s)
SELECT UNIX_TIMESTAMP();

-- Timestamp -> datum
SELECT FROM_UNIXTIME(1700000000);

-- Datum -> timestamp
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');

Strefy czasowe: UTC, czas lokalny i ISO 8601

UNIX timestamp jest zawsze w UTC – nie zawiera informacji o strefie czasowej ani o czasie letnim. Konwersja na czas lokalny zależy od ustawień przeglądarki, serwera lub używanej biblioteki.

Pojęcia, które warto znać:

  • UTC – globalny standard bez czasu letniego/zimowego.
  • GMT – dla typowego użytku praktycznie identyczne z UTC.
  • Offset – przesunięcie względem UTC (np. Warszawa UTC+1 zimą, UTC+2 latem).

Limity UNIX timestamp i problem roku 2038

Problem roku 2038 (Year 2038 Problem)

Na niektórych systemach 32-bitowych timestamp jest przechowywany jako int32 z maksimum 2 147 483 647, co odpowiada 19 stycznia 2038 03:14:07 UTC. Po przekroczeniu może dojść do przepełnienia i błędnego czasu. Nowoczesne systemy 64-bitowe zazwyczaj nie mają tego problemu.

Zakres 64-bitowego czasu UNIX

Wartości 64-bitowe obejmują niezwykle szeroki okres (w praktyce „na wieki”). Wartości ujemne oznaczają daty przed 1 stycznia 1970.


FAQ – często zadawane pytania dotyczące UNIX timestamp

Czy UNIX timestamp jest w UTC, czy w czasie lokalnym? UNIX timestamp jest zawsze w UTC. Czas lokalny powstaje dopiero podczas konwersji zgodnie ze strefą czasową. Dlatego konwerter zazwyczaj wyświetla zarówno UTC, jak i czas lokalny.
Jak rozpoznać, czy timestamp jest w sekundach, czy milisekundach? Dla bieżącego czasu timestamp w sekundach ma typowo 10 cyfr. W milisekundach ma zazwyczaj 13 cyfr i jest około 1000 razy większy. Orientacyjnie: wartość > 10¹² to zazwyczaj milisekundy.
Co oznacza ujemny UNIX timestamp? Ujemny timestamp reprezentuje datę przed 1 stycznia 1970. Na przykład -1 odpowiada 31 grudnia 1969 23:59:59 UTC.
Jak przekonwertować UNIX timestamp w SQL? W MySQL użyjesz FROM_UNIXTIME(timestamp) i z powrotem UNIX_TIMESTAMP(data). W PostgreSQL jest to zazwyczaj TO_TIMESTAMP(timestamp) i EXTRACT(EPOCH FROM data).
Dlaczego epoka UNIX zaczyna się 1 stycznia 1970? Jest to historycznie wybrany punkt odniesienia z wczesnych lat UNIXa: prosty, praktyczny i bliski okresowi rozwoju systemu.