Konwerter UNIX Timestamp (online narzędzie do czasu UNIX)
Aktualny UNIX timestamp
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 timestampu | Przykład | Typowe zastosowanie |
|---|---|---|
| Sekundy (s) | 1700000000 | bazy danych, backend, API, pliki |
| Milisekundy (ms) | 1700000000000 | JavaScript (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
- Wprowadź UNIX timestamp w polu lub kliknij Teraz (aktualny czas UNIX).
- Jeśli timestamp jest w milisekundach, aktywuj opcję Milisekundy.
- Kliknij Konwertuj (lub naciśnij Enter).
- Zostanie wyświetlona konwersja na czas lokalny, UTC i ISO 8601.
- Kliknięcie na wynik skopiuje go do schowka.
2) Data i czas → Timestamp
- Wybierz datę i czas w formularzu.
- Kliknij Konwertuj.
- 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) iexp(expires) są zazwyczaj w sekundach epoki. - Linux/Unix shell –
date +%szwraca aktualny timestamp. - JavaScript –
Date.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żyjeszFROM_UNIXTIME(timestamp) i z powrotem UNIX_TIMESTAMP(data). W PostgreSQL jest to zazwyczaj TO_TIMESTAMP(timestamp) i EXTRACT(EPOCH FROM data).