Strumento di conversione Timestamp Unix

Un tool professionale per la conversione di timestamp Unix che supporta la conversione bidirezionale tra timestamp e data-ora, riconoscendo automaticamente i timestamp in secondi (9-10 cifre), millisecondi (13), microsecondi (16) e nanosecondi (19) in base al numero di cifre. Offre tre visualizzazioni: ora locale, ora UTC e fuso orario selezionato, supporta più schede convertitori per il confronto batch e include intervalli orari recenti e durate comuni per lo sviluppo e il debug e le conversioni quotidiane. Interfaccia responsive, conversione istantanea all'input, aggiornamento automatico dei risultati al cambio di fuso orario e tutte le operazioni vengono eseguite localmente nel tuo browser, garantendo privacy e sicurezza.

Ora corrente

Timestamp corrente (in secondi)
—
Ora corrente
—

Timestamp in data

Supporta timestamp in secondi, millisecondi, microsecondi e nanosecondi, rilevati automaticamente in base al numero di cifre (9-10 cifre secondi, 13 cifre ms, 16 cifre μs, 19 cifre ns)

Risultato della conversione(Automatico)

Data in timestamp

Risultato della conversione(Automatico)

Convertitore multi-timestamp data-ora

Convertitore multi-timestamp data-ora

Convertitore multi-data in timestamp

Convertitore multi-data in timestamp

Istruzioni per l'uso

Questo strumento permette di completare rapidamente la conversione bidirezionale tra timestamp Unix e data e ora in diversi scenari. Supporta la precisione in secondi e millisecondi e consente di selezionare il fuso orario di destinazione per il confronto e la visualizzazione. Dispone di convertitori a scheda singola e multipla. La conversione avviene in tempo reale durante l'inserimento, e i risultati si aggiornano automaticamente quando si cambia il fuso orario. Inoltre, include intervalli temporali recenti e periodi comuni per soddisfare le esigenze di debug di sviluppo e le conversioni quotidiane.

Rilevamento automatico: Lo strumento rileva automaticamente la precisione in base al numero di cifre: secondi (9-10 cifre), millisecondi (13), microsecondi (16) e nanosecondi (19): non è necessaria la selezione manuale dell'unità.
Fuso orario: Visualizza l'ora locale e l'ora UTC, per un utilizzo comodo in diversi fusi orari.

Funzionalità dello strumento

  • Conversione in tempo reale durante l'inserimento, con riconoscimento automatico dei timestamp in secondi/millisecondi/microsecondi/nanosecondi.
  • Supporto alla selezione e visualizzazione di fusi orari globali: tre visualizzazioni per l'ora locale, UTC e il fuso orario selezionato.
  • Più schede convertitori per un confronto batch semplice.
  • Interfaccia adattiva e compatibile con la tastiera, con buona accessibilità.
  • Integrazione di intervalli temporali recenti e periodi comuni, pronti per essere copiati e utilizzati.

Cosa è un Timestamp?

Un timestamp Unix è il numero totale di secondi o millisecondi trascorsi dal 1970-01-01 00:00:00 UTC (Epoca Unix).

Un timestamp è un numero che rappresenta il tempo, solitamente espresso in secondi o millisecondi.

Il punto di inizio di un timestamp è 00:00:00 UTC del 1º gennaio 1970, chiamato Epoca Unix.

I timestamp sono stati originariamente utilizzati nei sistemi operativi Unix, per questo sono spesso chiamati timestamp Unix.

I timestamp sono ampiamente utilizzati nella programmazione e nella comunicazione di rete, specialmente nello sviluppo web.

Precisioni comuni: secondi (es. 1735689600) e millisecondi (es. 1735689600000). Quando si rappresentano date e ore relative ai fusi orari, è necessario formattare e visualizzarle in combinazione con il fuso orario.

Timestamp recenti (basati sul fuso orario globale)

Timestamp comuni (durate)

1 Minuto
60 Secondi
1 Ora
3600 Secondi
1 Giorno
86400 Secondi
1 Settimana
604800 Secondi
1 Mese (30 giorni)
2592000 Secondi
1 Anno (365 giorni)
31536000 Secondi

Il problema dell'anno 2038 dei timestamp

Il problema dell'anno 2038 si riferisce alla situazione in cui un intero con segno a 32 bit che memorizza un timestamp Unix (secondi trascorsi dal 00:00:00 UTC del 1º gennaio 1970) andrà in overflow dopo le 03:14:07 UTC del 19 gennaio 2038.

Poiché l'intervallo di un intero con segno a 32 bit va da -2.147.483.648 a 2.147.483.647, e il timestamp delle 03:14:07 UTC del 19 gennaio 2038 è 2.147.483.647, un intero con segno a 32 bit non sarà più in grado di rappresentare i timestamp successivi a questo punto.

Sono principalmente interessati i sistemi o il software più vecchi che utilizzano un time_t a 32 bit. I sistemi moderni utilizzano tipicamente 64 bit (come un intero a 64 bit in millisecondi) e non presentano questo problema.

Si consiglia di utilizzare timestamp a 64 bit o una libreria di gestione del tempo che supporti un ampio intervallo di date.

Come ottenere/convertire timestamp tramite linguaggi di programmazione

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

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

datetime.datetime.utcfromtimestamp(1735689600).isoformat()
Data → Timestamp
import datetime

int(datetime.datetime(2025,1,1,0,0,0,tzinfo=datetime.timezone.utc).timestamp())
Go
Ottieni timestamp corrente
import "time"

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

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

ts := time.Date(2025,1,1,0,0,0,0,time.UTC).Unix()
Rust
Ottieni timestamp corrente
use chrono::Utc;

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

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

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

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

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

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

-- SQLite
SELECT datetime(1735689600, 'unixepoch');
Data → Timestamp
-- 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');