Konwerter znaczników czasu
Konwertuj znaczniki czasu Unix na czytelne daty i odwrotnie
Bieżący znacznik czasu Unix
1774458451
Wed, 25 Mar 2026 17:07:31 GMT
Czym jest znacznik czasu Unix?
Znacznik czasu Unix (zwany też czasem epoki lub czasem POSIX) to liczba sekund, które upłynęły od 1 stycznia 1970 roku, godz. 00:00:00 UTC. Ta data nosi nazwę epoki Unix. Z każdą upływającą sekundą licznik rośnie o jeden, co pozwala zapisać każdy moment w czasie jako pojedynczą liczbę całkowitą. Konwerter znaczników czasu Unix tłumaczy tę liczbę na czytelne formaty dat, takie jak ISO 8601, RFC 2822 lub ciągi znaków zależne od ustawień regionalnych.
Znaczniki czasu Unix to standardowy sposób reprezentowania czasu w informatyce. Bazy danych przechowują kolumny created_at i updated_at jako liczby całkowite lub znaczniki czasu w milisekundach. Odpowiedzi API zawierają znaczniki czasu w nagłówkach pamięci podręcznej (Expires, Last-Modified), żądaniach JWT (iat, exp, nbf) oraz dziennikach zdarzeń. Pliki dziennika nginx, syslog i frameworków aplikacyjnych używają czasu epoki. Format jest jednoznaczny, ponieważ zawsze reprezentuje UTC — bez stref czasowych ani przesunięcia czasu letniego, które mogłyby być błędnie interpretowane.
Ręczne przeliczanie między znacznikami czasu a datami jest podatne na błędy. Wartość taka jak 1711324800 nie daje żadnej wizualnej wskazówki co do reprezentowanej daty. To narzędzie konwertuje znaczniki czasu Unix na czytelne daty i odwrotnie. Niezależnie od tego, czy odczytujesz żądanie exp z JWT, debugujesz zapytanie do bazy danych, czy sprawdzasz znacznik czasu w dzienniku — narzędzie automatycznie obsługuje wartości 10-cyfrowe (sekundy) i 13-cyfrowe (milisekundy).
Dlaczego warto używać tego konwertera znaczników czasu?
Odczytywanie surowych znaczników czasu Unix z dzienników, baz danych lub odpowiedzi API wymaga albo zapamiętania działań matematycznych związanych z epoką, albo pisania jednorazowego kodu. Ten konwerter działa w przeglądarce bez żadnej konfiguracji. Czy chcesz zdekodować datę wygaśnięcia JWT, przeanalizować wiersz dziennika, czy ustawić TTL w bazie danych — wynik jest o jedno kliknięcie. Narzędzie automatycznie wykrywa, czy wartość to 10-cyfrowy znacznik czasu w sekundach, czy 13-cyfrowy w milisekundach, więc nigdy nie musisz ręcznie dzielić przez 1000. Całe przetwarzanie odbywa się lokalnie w przeglądarce. Żadne dane nie opuszczają Twojego komputera, więc znaczniki czasu z systemów wewnętrznych i poufnych dzienników pozostają prywatne.
Zastosowania konwertera znaczników czasu
Tabela referencyjna znaczników czasu Unix
Poniższa tabela przedstawia dobrze znane znaczniki czasu Unix i odpowiadające im daty. Wartości te są przydatne do szybkiej weryfikacji, testowania i zrozumienia zakresu 32-bitowych i 64-bitowych znaczników czasu.
| Znacznik czasu | Data (UTC) | Uwaga |
|---|---|---|
| 0 | Jan 1, 1970 00:00:00 UTC | Unix epoch start |
| 86400 | Jan 2, 1970 00:00:00 UTC | Exactly 1 day |
| 946684800 | Jan 1, 2000 00:00:00 UTC | Y2K |
| 1000000000 | Sep 9, 2001 01:46:40 UTC | 10-digit milestone |
| 1234567890 | Feb 13, 2009 23:31:30 UTC | Ascending digits |
| 1700000000 | Nov 14, 2023 22:13:20 UTC | Recent 10-digit |
| 2000000000 | May 18, 2033 03:33:20 UTC | Next 10-digit milestone |
| 2147483647 | Jan 19, 2038 03:14:07 UTC | Y2038 (signed 32-bit max) |
| 4102444800 | Jan 1, 2100 00:00:00 UTC | Next century |
Porównanie formatów daty i czasu
Różne systemy i standardy reprezentują ten sam moment w czasie przy użyciu różnych formatów ciągów znaków. Tabela porównuje najczęściej spotykane formaty w API, dziennikach i bazach danych.
| Format | Przykład | Uwagi |
|---|---|---|
| Unix (seconds) | 1711324800 | Integer, no timezone info |
| Unix (milliseconds) | 1711324800000 | Used by JavaScript Date.now() |
| ISO 8601 | 2024-03-25T00:00:00Z | Machine-readable, includes timezone |
| RFC 2822 | Mon, 25 Mar 2024 00:00:00 +0000 | Email and HTTP headers |
| UTC string | Mon, 25 Mar 2024 00:00:00 GMT | Date.prototype.toUTCString() |
| Human readable | March 25, 2024, 12:00:00 AM | Locale-dependent, display only |
Przykłady kodu
Konwertuj między znacznikami czasu Unix a datami w języku, z którego korzystasz. Każdy przykład pokazuje oba kierunki: znacznik czasu na datę i datę na znacznik czasu.
// Current Unix timestamp in seconds
Math.floor(Date.now() / 1000) // → 1711324800
// Unix timestamp to Date object
const date = new Date(1711324800 * 1000)
date.toISOString() // → "2024-03-25T00:00:00.000Z"
date.toUTCString() // → "Mon, 25 Mar 2024 00:00:00 GMT"
// Date string to Unix timestamp
Math.floor(new Date('2024-03-25T00:00:00Z').getTime() / 1000)
// → 1711324800
// Millisecond timestamps (common in JS APIs)
Date.now() // → 1711324800000 (ms)
Date.parse('2024-03-25') // → 1711324800000 (ms)import time
from datetime import datetime, timezone
# Current Unix timestamp
int(time.time()) # → 1711324800
# Unix timestamp to datetime
dt = datetime.fromtimestamp(1711324800, tz=timezone.utc)
dt.isoformat() # → '2024-03-25T00:00:00+00:00'
dt.strftime('%Y-%m-%d %H:%M:%S %Z') # → '2024-03-25 00:00:00 UTC'
# Datetime string to Unix timestamp
dt = datetime.fromisoformat('2024-03-25T00:00:00+00:00')
int(dt.timestamp()) # → 1711324800
# Parse RFC 2822 dates (from email headers)
from email.utils import parsedate_to_datetime
parsedate_to_datetime('Mon, 25 Mar 2024 00:00:00 +0000').timestamp()
# → 1711324800.0package main
import (
"fmt"
"time"
)
func main() {
// Current Unix timestamp
now := time.Now().Unix() // → 1711324800
// Unix timestamp to time.Time
t := time.Unix(1711324800, 0).UTC()
fmt.Println(t.Format(time.RFC3339))
// → 2024-03-25T00:00:00Z
// Parse a date string to Unix timestamp
parsed, _ := time.Parse(time.RFC3339, "2024-03-25T00:00:00Z")
fmt.Println(parsed.Unix())
// → 1711324800
// Millisecond timestamp
ms := time.Now().UnixMilli() // → 1711324800000
fmt.Println(now, ms)
}# Current Unix timestamp date +%s # → 1711324800 # Convert timestamp to human-readable date (GNU date) date -d @1711324800 # → Mon Mar 25 00:00:00 UTC 2024 # Convert timestamp to ISO 8601 date -d @1711324800 --iso-8601=seconds # → 2024-03-25T00:00:00+00:00 # macOS (BSD date) — slightly different flags date -r 1711324800 # → Mon Mar 25 00:00:00 UTC 2024 # Date string to timestamp (GNU date) date -d "2024-03-25 00:00:00 UTC" +%s # → 1711324800