Convertor de timestamp Unix
Un instrument de conversie bidirecțională între timestamp Unix/Linux și data/oră, cu comparare bazată pe mai multe fusuri orare.
Timpul curent
Conversie timestamp → dată
Rezultatul conversiei(automat)
Conversie dată → timestamp
Rezultatul conversiei(automat)
Convertor de timestamp-uri și date multiple
Convertor de timestamp-uri și date multiple
Convertor de date și timestamp-uri multiple
Convertor de date și timestamp-uri multiple
Instrucțiuni de utilizare
Acest instrument este utilizat pentru a realiza rapid conversia bidirecțională între timestamp-ul Unix și data/ora în diferite scenarii. Acesta acceptă precizia în secunde și milisecunde și permite selectarea fusului orar țintă pentru afișarea comparativă. Acest instrument oferă un convertor pentru un singur card și unul pentru mai multe carduri. Conversia se efectuează imediat ce introduceți datele, iar rezultatele se actualizează automat atunci când schimbați fusul orar. De asemenea, sunt incluse intervale de timp recente și perioade de timp frecvent utilizate, pentru a satisface nevoile de dezvoltare, depanare și de conversie zilnică.
Caracteristicile instrumentului
- Conversie imediat ce introduceți datele, cu suport pentru detectarea automată a timestamp-urilor în secunde/milisecunde.
- Suport pentru selectarea și afișarea fusurilor orare globale: trei vizualizări - local, UTC și fusul orar selectat.
- Mai multe carduri convertor, pentru a facilita compararea în serie.
- Interfață responsivă și prietenoasă cu tastatura, cu o bună accesibilitate.
- Incluse intervale de timp recente și perioade de timp frecvent utilizate, gata de copiat și folosit.
Ce este un timestamp?
Timestamp-ul Unix (Unix Timestamp) reprezintă numărul total de secunde sau milisecunde trecute de la 00:00:00 UTC pe data de 1 ianuarie 1970 (Unix Epoch).
Un timestamp este un număr care reprezintă o dată și o oră, de obicei exprimat în secunde sau milisecunde.
Punctul de pornire al timestamp-ului este 00:00:00 UTC pe data de 1 ianuarie 1970, această dată fiind numită epoca Unix.
Timestamp-ul a fost inițial utilizat în sistemul de operare Unix, de aceea este adesea numit timestamp Unix.
Timestamp-urile sunt larg utilizate în programare și comunicarea pe rețea, în special în dezvoltarea web.
Precizii comune: secunde (de exemplu, 1735689600) și milisecunde (de exemplu, 1735689600000). Când se reprezintă datele și orele legate de fusul orar, este necesar să le formatați în funcție de fusul orar.
Timestamp-uri uzuale (durate)
Problema anului 2038 pentru timestamp-uri
Problema anului 2038 se referă la problema de overflow a timpului Unix (stocat ca număr întreg cu semn pe 32 de biți, exprimat în secunde, începând de la 00:00:00 UTC, 1970-01-01) după 03:14:07 UTC, 19 ianuarie 2038.
Deoarece intervalul unui număr întreg cu semn pe 32 de biți este între -2.147.483.648 și 2.147.483.647, iar timestamp-ul pentru 03:14:07 UTC, 19 ianuarie 2038 este 2.147.483.647, după acest moment, un număr întreg cu semn pe 32 de biți nu va mai putea reprezenta timestamp-urile ulterioare.
Cele mai multe sisteme sau software - uri vechi care folosesc time_t pe 32 de biți sunt afectate de această problemă. Sistemele moderne folosesc de obicei 64 de biți (de exemplu, un număr întreg pe 64 de biți exprimat în milisecunde), astfel încât nu se confruntă cu această problemă.
Se recomandă folosirea unui timestamp pe 64 de biți sau a unei biblioteci de timp care suportă un interval mare de date.
Cum să obțineți / convertiți timestamp-uri 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');