Scusi, che ora è?

Provate a chiederlo a MySql, vi risponderà così:

 

mysql> select unix_timestamp();
+------------------+
| unix_timestamp() |
+------------------+
|       1350283363 |
+------------------+
1 row in set (0.00 sec)

Citando Wikipedia

Nei sistemi operativi Unix e Unix-like il tempo viene rappresentato come offset in secondi rispetto alla mezzanotte (UTC) del 1º gennaio 1970 (detta epoca).

Per esempio, il 9 settembre 2001 (l’autore di questo post compì 31 anni :D) alle ore 03:46:40 CET il valore di tale offset era pari a un miliardo, indicando appunto che in quell’istante erano trascorsi un miliardo di secondi rispetto all’epoca.

Per rappresentare tale offset viene usato il tipo time_t.

Questo tipo di rappresentazione, oltre che a essere compatta, è indipendente dai fusi orari, ed è quindi direttamente confrontabile anche tra calcolatori situati a grandi distanze geografiche tra loro, ed evita di dover effettuare aggiustamenti nel caso per esempio di dati trasmessi da un fuso orario all’altro.

 

Nel nostro esempio abbiamo usato una date function di MySql.

Cosa fare per sapere la data esatta a partire dallo unix time?

Semplice:

 

mysql> select from_unixtime(1350283352);
+---------------------------+
| from_unixtime(1350283352) |
+---------------------------+
| 2012-10-15 08:42:32       |
+---------------------------+
1 row in set (0.00 sec)

Visto? Adesso se  alla vostra domanda “Scusi, sa che ore sono?” qualcuno vi risponde con un numero non avete che da convertire e saprete con certezza anche la data.