Unix time (epoc) in data/ora

Oggi mi sono imbattuto nel tipico elenco di log dove, per praticità, il dispositivo che li ha creati ha registrato le proprie informazioni, marcate temporalmente da un bel numeretto composto da 10 cifre che è l’epoc time.

Il problema :

Convertire lo unix time (conosciuto anche così) in data ed ora convenzionale.

La soluzione :

Innanzitutto ricordiamoci che lo unix time equivaleal numero di secondi trascorsi dal 01/01/1970 00:00.

Utilizziamo un foglio di calcolo e ricordiamoci che Excel ha una funzione che permette di trasformare il numero di giorni trascorsi dal 01/01/1900 in data ed ora convenzionali.

Quindi, avendo ad esempio il numeretto :

1255109369

per trasformarlo in data/ora dovremo :

dividerlo per 60 (i secondi) poi per 60 (i minuti) ed ancora per 24 (le ore)

al risultato, aggiungere il numero di giorni trascorsi a partire dal 01/01/1900 fino al 01/01/1970 che sono 25569

a questo punto avremo una formula matematica che “tutto incluso” permette di ottenere la data posizionata sul GMT +0:00.

Nel caso volessimo “giocare” con i fusi orari ricordiamoci che :

EST – Eastern Standard Time GMT – 5:00
CST – Central Standard Time GMT – 6:00
MST – Mountain Standard Time GMT – 7:00
PST – Pacific Standard Time GMT  – 8:00

Quindi, quando applicheremo la formuletta dovremo sottrarre il numero di ore x 3600 (60 secondi per 60 minunti)

Per finire, la regola da aggiungere alla cella del foglio di calcolo presupponendo che il numero sia nella prima A1.

EST – Eastern Standard Time GMT – 5:00 =((A1-18000)/86400)+25569
CST – Central Standard Time GMT – 6:00 =((A1-21600)/86400)+25569
MST – Mountain Standard Time GMT – 7:00 =((A1-25200)/86400)+25569
PST – Pacific Standard Time GMT – 8:00 =((A1-28800)/86400)+25569

Buon calcolo 😉