Conversione del Numero Seriale di una Data per Matlab (windows) ed Excel (windows/macosx) in standard UNIX

Il Tempo è rappresentato nel sistema Unix/Posix  dal numero di secondi passati dalle ore 00:00 UTC (Universal Time Coordinated) di giovedì 1 Gennaio 1970 [link].

Matlab ed Excel  forniscono 3 differenti valori iniziali:

  • Matlab: data di partenza con numero seriale calcolato al 1 Gennaio 0000 (anno zero) [link].
  • Excel per Windows: data di partenza con numero seriale calcolato al 1 Gennaio 1900 [link].
  • Excel per Mac OX:  data di partenza con numero seriale calcolato al  1 Gennaio 1904 [link].

In tutti e tre i casi la progressione numerica è unitaria (espressa in giorni).

OBIETTIVO:

Trasformare i tre formati menzionati nello standard Unix.

SOLUZIONE:

Un giorno è composto da 60 (sec) * 60 (min) * 24 (ore) = 86.400 (sec).

  • Unix: [differenza tra T (giorno di valutazione) e Ts (data di partenza)] * 86.400 (sec)
  • Matlab: [differenza tra T (giorno di valutazione) e Ts (1 gen 1970)] * 86.400 (sec)
  • Excel:  [differenza tra T (giorno di valutazione) e Ts (1 gen 1970)] * 86.400 (sec)

ESEMPIO:

La data 19-Aprile-2012 alle ore 00:00 si calcola:

  • Unix: 15.449  * 86.400 = 1.334.793.600
  • Matlab:  [datenum(’19-4-2012′,’dd-mm-yyyy’) – datenum(’01-01-1970′,’dd-mm-yyyy’)] * 86.400 = 1.334.793.600
  • Excel: (DATEVALUE(“19/4/2012”) – DATEVALUE(“01/01/1970”)) * 86.400 = 1.334.793.600

Ricordando che il 01-01-1970 è il numero seriale:

  • Matlab: 719.529
  • Excel per Windows: 25.569
  • Excel per MacOSX: 24.107

Passare da una soluzione all’altra utilizzando il differenziale è facile.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...