Convertitore di Timestamp Unix in Data: Supporto per Formati a 12/24 Ore
Converti i timestamp Unix in date e orari leggibili dall'uomo. Scegli tra i formati di ora a 12 ore e a 24 ore con questo semplice strumento di conversione facile da usare.
Convertitore di timestamp Unix
Il timestamp Unix è il numero di secondi trascorsi dal 1 gennaio 1970 (UTC)
Data e Ora Convertite
Cos'è un Timestamp Unix?
Un timestamp Unix è il numero di secondi trascorsi dal 1 gennaio 1970 (mezzanotte UTC/GMT), senza contare i secondi bisestili. È ampiamente utilizzato nei sistemi Unix e nei linguaggi di programmazione per calcoli di data e ora.
Documentazione
Convertitore da timestamp Unix a data
Un timestamp Unix è un numero che rappresenta uno specifico momento nel tempo. Conta i secondi interi trascorsi dalla mezzanotte UTC del 1 gennaio 1970, un momento chiamato epoca Unix. Questo strumento converte un timestamp Unix in una data di calendario e un'ora, visualizzate nel formato a 24 ore o a 12 ore.
Come convertire un timestamp Unix in una data
La formula di base è semplice:
data = epoca Unix (1970-01-01, 00:00:00 UTC) + timestamp (in secondi)
Per trasformare un numero grezzo di secondi in una data, si aggiunge quel numero di secondi al 1 gennaio 1970. Il risultato deve poi essere suddiviso in anno, mese, giorno, ora, minuto e secondo. Questa suddivisione è la parte più difficile, perché deve tenere conto degli anni bisestili, che aggiungono un giorno a febbraio, e del fatto che i mesi hanno durate diverse. La maggior parte dei linguaggi di programmazione dispone di una funzione di gestione delle date integrata che esegue automaticamente questa operazione, così nessuno deve calcolarla passo dopo passo.
Esempio svolto
Prendiamo il timestamp 1609459200.
- Dividilo per il numero di secondi in un giorno: 1.609.459.200 ÷ 86.400 = 18.628 giorni.
- Conta 18.628 giorni a partire dal 1 gennaio 1970, tenendo conto degli anni bisestili lungo il percorso.
- Il conteggio arriva al 1 gennaio 2021.
Quindi 1609459200 corrisponde a venerdì, 1 gennaio 2021, 00:00:00 UTC. Il giorno della settimana, venerdì, si ricava dallo stesso conteggio dei giorni.
Il convertitore mostra il risultato nel fuso orario indicato dal browser, non in UTC. Un lettore a New York vede lo stesso timestamp come giovedì, 31 dicembre 2020, alle 19:00:00, perché quel giorno New York era cinque ore indietro rispetto all'UTC.
Un timestamp può anche essere negativo, indicando una data precedente al 1970. Per esempio, -86400 corrisponde esattamente a un giorno prima dell'epoca: 31 dicembre 1969, 00:00:00 UTC.
Precisione dei timestamp: secondi, millisecondi e microsecondi
Non tutti i sistemi misurano il tempo in secondi. Questo convertitore esamina il numero di cifre di un timestamp e ne stima la precisione:
| Cifre | Precisione | Esempio |
|---|---|---|
| 10 | Secondi | 1609459200 |
| 13 | Millisecondi | 1609459200000 |
| 16 | Microsecondi | 1609459200000000 |
Un timestamp negativo ha un carattere aggiuntivo per il segno meno, quindi -1609459200 (11 caratteri, 10 cifre) viene comunque letto come espresso in secondi. Qualsiasi altro numero di cifre viene trattato come secondi semplici. I valori in millisecondi e microsecondi vengono divisi rispettivamente per 1.000 o 1.000.000 prima di applicare la formula dei secondi riportata sopra.
Formato dell'ora a 12 ore e a 24 ore
Il convertitore offre due modi per visualizzare l'ora del giorno.
- Formato a 24 ore: conta le ore da 0 a 23, senza l'indicazione AM o PM. Talvolta i programmatori lo chiamano formato orario militare. 3:00 del pomeriggio viene scritto 15:00.
- Formato a 12 ore: conta le ore da 1 a 12, aggiungendo AM per il periodo da mezzanotte a mezzogiorno e PM per il periodo da mezzogiorno a mezzanotte. 15:00 nel formato a 24 ore diventa 3:00 PM.
Il formato a 24 ore è lo standard nella maggior parte dell'Europa, dell'America Latina e dell'Asia, nonché negli ambiti scientifico, militare e medico di tutto il mondo. Il formato a 12 ore resta comune nell'uso quotidiano negli Stati Uniti, in Canada e in alcuni altri Paesi anglofoni.
Intervallo di date supportato
Questo convertitore accetta qualsiasi timestamp da -62135596800 a 253402300799. L'intervallo comprende tutte le date dal 1 gennaio dell'anno 1 al 31 dicembre 9999, nel calendario gregoriano prolettico, cioè il calendario moderno proiettato all'indietro oltre la sua introduzione nel 1582. I timestamp al di fuori di questo intervallo vengono rifiutati con un errore di intervallo.
Il problema dell'anno 2038
Molti sistemi informatici meno recenti memorizzano un timestamp Unix come intero con segno a 32 bit, che può contare al massimo fino a 2.147.483.647. Questo numero di secondi dopo l'epoca corrisponde al 19 gennaio 2038, alle 03:14:07 UTC. Dopo quell'istante, un sistema a 32 bit non aggiornato torna a un numero negativo e interpreta la data come appartenente al 1901 invece che al 2038. Questo è noto come problema dell'anno 2038. Non riguarda tutti i sistemi: i software moderni che memorizzano i timestamp come numeri a 64 bit, o come numeri ordinari nel modo in cui fa JavaScript, possono rappresentare date migliaia di anni oltre il 2038 senza overflow.
Usi comuni dei timestamp Unix
I timestamp Unix sono utilizzati in tutto il campo dell'informatica perché sono compatti e facili da confrontare o ordinare:
- Le righe dei database li usano per registrare quando un record è stato creato o modificato l'ultima volta.
- I server web li usano nelle intestazioni HTTP e nei cookie per controllare la memorizzazione nella cache e la scadenza.
- I file di log registrano ogni evento con un timestamp, così le voci possono essere disposte in ordine.
- Git e altri sistemi di controllo versione registrano in questo modo gli orari dei commit.
- Le API web li usano per indicare quando i dati sono stati generati o aggiornati l'ultima volta.
Domande frequenti
Che cos'è l'epoca Unix? L'epoca Unix è la mezzanotte UTC del 1 gennaio 1970. È il punto zero da cui vengono conteggiati tutti i timestamp Unix.
Un timestamp Unix include i secondi intercalari? No. Il tempo Unix conta esattamente 86.400 secondi al giorno e ignora i secondi intercalari aggiunti occasionalmente all'UTC, perciò si discosta leggermente dal tempo astronomico.
Un timestamp Unix può essere negativo? Sì. Un valore negativo rappresenta una data precedente al 1 gennaio 1970.
Perché il mio timestamp ha 13 cifre invece di 10?
Un timestamp di 13 cifre è espresso in millisecondi anziché in secondi. Il metodo Date.now() di JavaScript e molte API web restituiscono timestamp in millisecondi, motivo per cui i valori di 13 cifre sono comuni nello sviluppo web.
Un timestamp Unix è uguale in ogni fuso orario? Il numero in sé non è legato ad alcun fuso orario. Conta sempre i secondi trascorsi dall'epoca in UTC. Per convertirlo in una data e un'ora locali occorre aggiungere l'offset del fuso orario, ed è per questo che l'output di questo convertitore segue il fuso orario del dispositivo su cui viene eseguito.
Qual è la data più lontana che questo convertitore può gestire? Il 31 dicembre 9999, alle 23:59:59 UTC, corrispondente al timestamp 253402300799. La data più remota è il 1 gennaio dell'anno 1, alle 00:00:00 UTC, corrispondente al timestamp -62135596800.