Convertitore timestamp Unix
Converti tra timestamp Unix e date leggibili.
177911068317791106838742026-05-18T13:24:43.874ZCos'è un timestamp Unix?
Un timestamp Unix (chiamato anche Epoch time o POSIX time) è il numero di secondi trascorsi dal 1° gennaio 1970 alle 00:00:00 UTC. Questo momento è chiamato Epoch Unix. I timestamp forniscono un modo universale e indipendente dal fuso orario per rappresentare un momento specifico nel tempo come un singolo numero, rendendoli lo standard per archiviare e trasmettere date nei sistemi informatici.
Ad esempio, il timestamp 1700000000 rappresenta il 14 novembre 2023 alle 22:13:20 UTC. I timestamp aumentano di uno ogni secondo e sono sempre in UTC, il che elimina l'ambiguità del fuso orario. Questa semplicità spiega perché i timestamp vengono usati in database, API, file di log, sistemi di caching e praticamente in tutte le applicazioni backend.
Secondi vs. millisecondi
La maggior parte dei sistemi Unix e linguaggi come Python, PHP e Ruby usa i timestamp in secondi (un numero a 10 cifre nel 2024). Tuttavia, JavaScript, Java e alcuni database usano i millisecondi (un numero a 13 cifre). Questo strumento rileva automaticamente il formato — se il numero ha 13 cifre, lo tratta come millisecondi. È anche possibile passare manualmente tra i due formati.
Come usare questo strumento
Inserire un timestamp Unix (in secondi o millisecondi) per convertirlo in una data e ora leggibile, oppure selezionare una data e ora per ottenere il timestamp corrispondente. Il timestamp corrente viene mostrato in tempo reale come riferimento. Lo strumento mostra i risultati sia in UTC che nel fuso orario locale.
Usi comuni dei timestamp
- Logging: registrazione dei tempi esatti degli eventi nei log delle applicazioni e dei server per il debug e l'auditing.
- Database: archiviazione delle date in un formato standardizzato e indipendente dal fuso orario che si ordina correttamente.
- API: trasmissione affidabile delle date tra sistemi senza ambiguità nell'analisi del fuso orario.
- Caching: tracciamento dei tempi di creazione e scadenza della cache con semplici confronti numerici.
- Rate limiting: applicazione dei limiti alle richieste confrontando il tempo corrente con i timestamp memorizzati.
Date importanti dei timestamp Unix
- Epoch Unix (1° gennaio 1970): Timestamp 0 — il punto di partenza per tutto il tempo Unix.
- Y2K (1° gennaio 2000): Timestamp 946.684.800.
- Problema anno 2038 (19 gennaio 2038): i timestamp a 32 bit con segno vanno in overflow a 2.147.483.647. I sistemi che usano il tempo a 32 bit passeranno a numeri negativi o si bloccheranno.
- Billenario (9 settembre 2001): Timestamp 1.000.000.000 — il primo timestamp a 10 cifre.
Il problema anno 2038
Molti sistemi più vecchi memorizzano i timestamp come interi a 32 bit con segno, che possono contenere valori fino a 2.147.483.647. Questo massimo viene raggiunto il 19 gennaio 2038 alle 03:14:07 UTC. Dopo quel momento, i timestamp a 32 bit vanno in overflow e ritornano a valori negativi, potenzialmente rappresentando date nel 1901. I sistemi moderni a 64 bit non sono interessati — un timestamp a 64 bit non andrà in overflow per altri 292 miliardi di anni.
I miei dati sono al sicuro?
Sì. Tutta la conversione avviene interamente nel browser usando l'oggetto Date di JavaScript. I tuoi dati non lasciano mai il dispositivo. Nessun timestamp o data viene registrato, archiviato o trasmesso.
Domande frequenti
I timestamp Unix tengono conto dei secondi intercalari?
No. I timestamp Unix ignorano deliberatamente i secondi intercalari. Ogni giorno viene trattato come esattamente 86.400 secondi. Quando si verifica un secondo intercalare, il timestamp Unix ripete un secondo o ne salta uno, a seconda del sistema operativo. Questa semplificazione mantiene l'aritmetica dei timestamp semplice.
Come ottengo il timestamp Unix corrente nel mio codice?
In JavaScript: Math.floor(Date.now() / 1000). In Python: import time; int(time.time()). In PHP: time(). In Bash: date +%s. Tutti restituiscono il tempo corrente come timestamp Unix in secondi.