Instrument de conversie pentru marcaj de timp Unix
Un instrument profesionist de conversie pentru marcaj de timp Unix, care acceptă conversia bidirecțională între marcaje de timp și dată-oră, recunoscând automat marcaje de timp în secunde (9-10 cifre), milisecunde (13), microsecunde (16) și nanosecunde (19) după numărul de cifre. Oferă trei vederi: oră locală, oră UTC și fus orar selectat, acceptă mai multe carduri de convertor pentru comparație în lot, și include intervale de timp recente integrate și perioade comune pentru depanare în dezvoltare și conversii zilnice. Interfață adaptivă, conversie instantanee la introducere, reîmprospătare automată a rezultatului la comutarea fusurilor orare, și toate operațiunile sunt efectuate local în browserul dumneavoastră, asigurând confidențialitatea și securitatea.
Oră curentă
Marcaj de timp în dată
Acceptă marcaje de timp în secunde, milisecunde, microsecunde și nanosecunde, detectate automat după numărul de cifre (9-10 cifre secunde, 13 cifre ms, 16 cifre μs, 19 cifre ns)
Rezultat conversie(Automat)
Dată în marcaj de timp
Rezultat conversie(Automat)
Convertor multi-marcaje de timp în dată-oră
Convertor multi-marcaje de timp în dată-oră
Convertor multi-dată în marcaj de timp
Convertor multi-dată în marcaj de timp
Instrucțiuni de utilizare
Acest instrument este utilizat pentru a finaliza rapid conversia bidirecțională dintre marcajele temporale Unix și datele-oră în diferite scenarii. Suportă precizia secundă și milisecundă și vă permite să selectați fusul orar țintă pentru afișare comparativă. Oferă convertoare cu o singură cartelă și cu mai multe cartele. Conversia se realizează în timp ce introduceți date, iar rezultatele sunt reîmprospătate automat atunci când comutați fusul orar. De asemenea, dispune de intervale de timp recente și de perioade de timp comune integrate, pentru a satisface nevoile de depanare în dezvoltare și de conversii zilnice.
Caracteristicile instrumentului
- Conversie în timp ce introduceți, cu recunoașterea automată a marcajelor temporale de tip secundă/milisecundă/microsecundă/nanosecundă.
- Suport pentru selectarea și afișarea fusurilor orare globale: trei vizualizări pentru ora locală, UTC și fusul orar selectat.
- Mai multe cartele de convertor pentru comparație în loturi ușoară.
- Interfață receptivă și compatibilă cu tastatura, cu accesibilitate bună.
- Intervale de timp recente și perioade de timp comune integrate, pe care le puteți copia și utiliza.
Ce este un marcaj de timp?
Un marcaj temporal Unix este numărul total de secunde sau milisecunde care au trecut de la 01.01.1970, 00:00:00 UTC (Epoca Unix).
Un marcaj temporal este un număr care reprezintă timpul, de obicei în secunde sau milisecunde.
Punctul de plecare al unui marcaj temporal este 00:00:00 UTC din 1 ianuarie 1970, care se numește Epoca Unix.
Marcajele temporale au fost utilizate inițial în sistemele de operare Unix, de aceea sunt adesea numite marcaje temporale Unix.
Marcajele temporale sunt utilizate pe scară largă în programare și comunicarea în rețea, în special în dezvoltarea web.
Precizii comune: secunde (de ex., 1735689600) și milisecunde (de ex., 1735689600000). Atunci când reprezentați date-oră legate de fusuri orare, acestea trebuie formatate și afișate în combinație cu fusul orar.
Marcaje de timp comune (perioade)
Problema anului 2038 a marcajelor de timp
Problema Anului 2038 se referă la problema în care un număr întreg întregiat pe 32 de biți care stochează un marcaj temporal Unix (în secunde de la 01.01.1970, 00:00:00 UTC) se va revărsa după 19.01.2038, 03:14:07 UTC.
Deoarece intervalul unui număr întreg întregiat pe 32 de biți este de la -2.147.483.648 la 2.147.483.647, iar marcajul temporal de la 19.01.2038, 03:14:07 UTC este 2.147.483.647, un număr întreg întregiat pe 32 de biți nu va mai putea reprezenta marcajele temporale ulterioare acestui moment.
Sistemele mai vechi sau software-ul care utilizează un time_t pe 32 de biți sunt cele mai afectate. Sistemele moderne utilizează de obicei 64 de biți (cum ar fi un număr întreg pe 64 de biți în milisecunde) și nu se confruntă cu această problemă.
Se recomandă utilizarea marcajelor temporale pe 64 de biți sau a unei biblioteci de timp care acceptă un interval de date larg.
Cum să obțineți/convertiți marcaje de timp prin limbaje de programare
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');