Narzędzie do konwersji sygnatury czasu Unix
Profesjonalne narzędzie do konwersji sygnatury czasu Unix, obsługujące dwukierunkową konwersję między sygnaturami czasu a datą i godziną, automatycznie rozpoznające sygnatury czasu w sekundach (9–10 cyfr), milisekundach (13), mikrosekundach (16) i nanosekundach (19) po liczbie cyfr. Oferuje trzy widoki: czas lokalny, czas UTC oraz czas w wybranej strefie czasowej, obsługuje wiele kart konwertera do porównań zbiorczych, zawiera wbudowane ostatnie przedziały czasu oraz typowe zakresy czasu do debugowania w ramach programowania i codziennych konwersji. Interfejs responsywny, natychmiastowa konwersja podczas wprowadzania, automatyczne odświeżanie wyników przy zmianie strefy czasowej, a wszystkie operacje są wykonywane lokalnie w przeglądarce, co gwarantuje prywatność i bezpieczeństwo.
Aktualny czas
Sygnatura czasu na datę
Obsługuje sygnatury czasu w sekundach, milisekundach, mikrosekundach i nanosekundach, automatycznie wykrywane po liczbie cyfr (9–10 cyfr dla sekund, 13 dla ms, 16 dla μs, 19 dla ns)
Wynik konwersji(Automatycznie)
Data na sygnaturę czasu
Wynik konwersji(Automatycznie)
Zbiorczy konwerter daty i czasu dla wielu sygnatur czasu
Zbiorczy konwerter daty i czasu dla wielu sygnatur czasu
Zbiorczy konwerter sygnatur czasu dla wielu dat
Zbiorczy konwerter sygnatur czasu dla wielu dat
Instrukcja użycia
Narzędzie służy do szybkiego wykonywania dwukierunkowej konwersji między sygnaturami czasowymi Unix a datami i godzinami w różnych scenariuszach. Obsługuje precyzję w sekundach i milisekundach oraz umożliwia wybór docelowej strefy czasowej do wyświetlania porównawczego. Oferuje konwerter pojedynczej i wielokrotnej kartowej. Konwersja odbywa się w trakcie wpisywania, a wyniki są automatycznie odświeżane po zmianie strefy czasowej. Posiada również wbudowane zakresy czasowe i typowe przedziały, aby spełnić potrzeby debugowania w trakcie rozwoju i codziennych konwersji.
Funkcje narzędzia
- Konwersja w trakcie wpisywania, z automatycznym rozpoznawaniem sygnatur czasowych w sekundach/milisekundach/mikrosekundach/nanosekundach.
- Obsługa wyboru i wyświetlania stref czasowych z całego świata: trzy widoki – czas lokalny, UTC oraz wybrana strefa czasowa.
- Wielokrotne karty konwertera ułatwiające porównania wsadowe.
- Interfejs responsywny i przyjazny dla klawiatury, z dobrą dostępnością.
- Wbudowane ostatnie zakresy czasowe i typowe przedziały – gotowe do skopiowania i użycia.
Czym jest sygnatura czasu?
Sygnatura czasowa Unix to całkowita liczba sekund lub milisekund, które upłynęły od 1970-01-01 00:00:00 UTC (epoki Unix).
Sygnatura czasowa to liczba reprezentująca czas, zwykle wyrażona w sekundach lub milisekundach.
Punktem początkowym sygnatury czasowej jest 00:00:00 UTC 1 stycznia 1970, nazywany epoką Unix.
Sygnatury czasowe pierwotnie były używane w systemach operacyjnych Unix, dlatego często nazywane są sygnaturami czasowymi Unix.
Sygnatury czasowe są szeroko stosowane w programowaniu i komunikacji sieciowej, zwłaszcza w tworzeniu stron internetowych.
Typowe precyzje: sekundy (np. 1735689600) i milisekundy (np. 1735689600000). Przy reprezentowaniu dat i godzin związanych ze strefami czasowymi wymagają one formatowania i wyświetlania w połączeniu ze strefą czasową.
Typowe sygnatury czasu (przedziały)
Problem roku 2038 dotyczący sygnatur czasu
Problem roku 2038 odnosi się do sytuacji, w której 32-bitowa liczba całkowita ze znakiem przechowująca sygnaturę czasową Unix (w sekundach od 00:00:00 UTC 1 stycznia 1970) ulegnie przepełnieniu po 03:14:07 UTC 19 stycznia 2038 roku.
Ponieważ zakres 32-bitowej liczby całkowitej ze znakiem wynosi od -2 147 483 648 do 2 147 483 647, a sygnatura czasowa 03:14:07 UTC 19 stycznia 2038 wynosi 2 147 483 647, 32-bitowa liczba całkowita ze znakiem nie będzie w stanie reprezentować sygnatur czasowych po tym momencie.
Najbardziej dotknięte są starsze systemy lub oprogramowanie używające 32-bitowego typu time_t. Nowoczesne systemy zazwyczaj używają 64-bitowych wartości (np. 64-bitowa liczba całkowita w milisekundach) i nie mają tego problemu.
Zaleca się używanie 64-bitowych sygnatur czasowych lub biblioteki czasu obsługującej duży zakres dat.
Jak pobrać/konwertować sygnatury czasu za pomocą języków programowania
Math.floor(Date.now() / 1000); // seconds
Date.now(); // milliseconds
new Date(1735689600 * 1000).toISOString();
new Date('2025-01-01T00:00:00Z').getTime();
time(); // seconds
intval(microtime(true) * 1000); // milliseconds
date('Y-m-d H:i:s', 1735689600);
strtotime('2025-01-01 00:00:00');
import time
int(time.time()) # seconds
int(time.time() * 1000) # milliseconds
import datetime
datetime.datetime.utcfromtimestamp(1735689600).isoformat()
import datetime
int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
import "time"
time.Now().Unix() // seconds
time.Now().UnixMilli() // milliseconds
import "time"
time.Unix(1735689600, 0).UTC().Format(time.RFC3339)
import "time"
ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
use chrono::Utc;
let now = Utc::now();
let sec = now.timestamp(); // seconds i64
let ms = now.timestamp_millis(); // milliseconds i128
use chrono::{DateTime, NaiveDateTime, Utc};
let dt: DateTime = NaiveDateTime::from_timestamp_opt(1735689600, 0)
.unwrap()
.and_utc();
let iso = dt.to_rfc3339();
use chrono::DateTime;
let ts = DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
.unwrap()
.timestamp();
-- MySQL / MariaDB
SELECT UNIX_TIMESTAMP();
-- PostgreSQL
SELECT EXTRACT(EPOCH FROM NOW())::bigint;
-- SQLite
SELECT strftime('%s', 'now');
-- MySQL / MariaDB
SELECT FROM_UNIXTIME(1735689600);
-- PostgreSQL
SELECT to_timestamp(1735689600) AT TIME ZONE 'UTC';
-- SQLite
SELECT datetime(1735689600, 'unixepoch');
-- 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');