Konwerter znaczników czasu Unix

Narzędzie do dwukierunkowej konwersji między znacznikami czasu Unix/Linux a datami i godzinami, umożliwiające porównanie w różnych strefach czasowych.

Aktualny czas

Aktualny znacznik czasowy (sekundy)
1768448372
Aktualny czas
2026-01-15 03:39:32

Konwersja znacznika czasowego na datę

Wynik konwersji(automatycznie)

Konwersja daty na znacznik czasowy

Wynik konwersji(automatycznie)

Kalkulator dat i godzin dla wielu znaczników czasowych

Kalkulator dat i godzin dla wielu znaczników czasowych

Kalkulator znaczników czasowych dla wielu dat

Kalkulator znaczników czasowych dla wielu dat

Instrukcja obsługi

Ten narzędzie służy do szybkiego dwukierunkowego konwersowania znaczników czasu Unix na daty i godziny oraz odwrotnie w różnych scenariuszach. Obsługuje precyzję w sekundach i milisekundach oraz umożliwia wybór strefy czasowej celu do porównawczego wyświetlania. Udostępnia pojedynczy i wielokarty konwertera. Konwersja odbywa się natychmiast po wprowadzeniu danych, a zmiana strefy czasowej automatycznie odświeża wyniki. Ponadto zawiera zakresy czasu z ostatnich dni i często używane przedziały czasu, co spełnia potrzeby programistyczne i codziennych konwersji.

Automatyczne rozpoznawanie: Narzędzie automatycznie rozpoznaje, czy wprowadzony jest znacznik czasu w sekundach (10 cyfr) czy w milisekundach (13 cyfr).
Strefa czasowa: Wyświetla lokalną godzinę i czas UTC, co ułatwia korzystanie w różnych strefach czasowych.

Funkcje i cechy narzędzia

  • Konwersja natychmiast po wprowadzeniu danych, obsługuje automatyczne rozpoznawanie znaczników czasu w sekundach/milisekundach.
  • Obsługuje wybór i wyświetlanie globalnych stref czasowych: lokalna, UTC, wybrana strefa czasowa - trzy widoki.
  • Wielokarty konwertera, ułatwiające porównywanie danych w partiach.
  • Responsywny interfejs, przyjazny dla klawiatury, dobrą dostępnością.
  • Wbudowane zakresy czasu z ostatnich dni i często używane przedziały czasu, gotowe do skopiowania i użycia.

Co to jest znacznik czasowy?

Znacznik czasu Unix (Unix Timestamp) to łączna liczba sekund lub milisekund, które upłynęły od 1970-01-01 00:00:00 UTC (Unix Epoch).

Znacznik czasu to liczba reprezentująca czas, zazwyczaj w sekundach lub milisekundach.

Punkt początkowy znacznika czasu to 1 stycznia 1970 roku, 00:00:00 UTC. Ten czas jest nazywany epoką Unix.

Znacznik czasu został pierwotnie użyty w systemie operacyjnym Unix, dlatego często nazywany jest znacznikiem czasu Unix.

Znaczniki czasu są szeroko stosowane w programowaniu i komunikacji sieciowej, szczególnie w tworzeniu stron internetowych.

Powszechne precyzje: sekundy (np. 1735689600) i milisekundy (np. 1735689600000). Podczas reprezentowania dat i godzin związanych ze strefami czasowymi należy formatować je z uwzględnieniem strefy czasowej.

Ostatnie znaczniki czasowe (Według strefy czasowej globalnej)

Popularne znaczniki czasowe (Czas trwania)

1 minuta
60 sekundy
1 godzina
3600 sekundy
1 dzień
86400 sekundy
1 tydzień
604800 sekundy
1 miesiąc (Według 30 dni)
2592000 sekundy
1 rok (Według 365 dni)
31536000 sekundy

Problem 2038 z znacznikami czasowymi

Problem 2038 dotyczy problemu przepełnienia 32-bitowego signed integer przechowującego znacznik czasu Unix (w sekundach, od 1 stycznia 1970, 00:00:00 UTC) po 19 stycznia 2038, 03:14:07.

Ponieważ zakres 32-bitowego signed integer to od -2 147 483 648 do 2 147 483 647, a znacznik czasu dla 19 stycznia 2038, 03:14:07 UTC wynosi 2 147 483 647, po tym punkcie czasowym 32-bitowy signed integer nie będzie w stanie reprezentować kolejnych znaczników czasu.

Na problem ten wpływają głównie stare systemy lub oprogramowanie wykorzystujące 32-bitowy time_t. Współczesne systemy zazwyczaj używają 64-bitowych (np. 64-bitowych liczb całkowitych w milisekundach) i nie mają tego problemu.

Zaleca się użycie 64-bitowych znaczników czasu lub bibliotek czasu obsługujących duże zakresy dat.

Jak uzyskać/konwertować znaczniki czasowe za pomocą języków programowania

JavaScript
Pobierz aktualny znacznik czasowy
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
Znacznik czasowy → Data
new Date(1735689600 * 1000).toISOString();
Data → Znacznik czasowy
new Date('2025-01-01T00:00:00Z').getTime();
PHP
Pobierz aktualny znacznik czasowy
time();                // seconds
intval(microtime(true) * 1000); // milliseconds
Znacznik czasowy → Data
date('Y-m-d H:i:s', 1735689600);
Data → Znacznik czasowy
strtotime('2025-01-01 00:00:00');
Python
Pobierz aktualny znacznik czasowy
import time

int(time.time())        # seconds
int(time.time() * 1000) # milliseconds
Znacznik czasowy → Data
import datetime

datetime.datetime.utcfromtimestamp(1735689600).isoformat()
Data → Znacznik czasowy
import datetime

int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
Go
Pobierz aktualny znacznik czasowy
import "time"

time.Now().Unix()      // seconds
time.Now().UnixMilli() // milliseconds
Znacznik czasowy → Data
import "time"

time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
Data → Znacznik czasowy
import "time"

ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
Rust
Pobierz aktualny znacznik czasowy
use chrono::Utc;

let now = Utc::now();
let sec = now.timestamp();        // seconds i64
let ms  = now.timestamp_millis(); // milliseconds i128
Znacznik czasowy → Data
use chrono::{DateTime, NaiveDateTime, Utc};

let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
    .unwrap()
    .and_utc();
let iso = dt.to_rfc3339();
Data → Znacznik czasowy
use chrono::DateTime;

let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
    .unwrap()
    .timestamp();
SQL
Pobierz aktualny znacznik czasowy
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;

-- SQLite
SELECT strftime('%s', 'now');
Znacznik czasowy → Data
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);

-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';

-- SQLite
SELECT datetime(1735689600, 'unixepoch');
Data → Znacznik czasowy
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP('2025-01-01 00:00:00');

-- PostgreSQL
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2025-01-01 00:00:00+00')::bigint;

-- SQLite
SELECT strftime('%s', '2025-01-01 00:00:00');