Table of Contents

Gestione delle timezone in Python e PHP

La timezone del PHP

Per verificare qual'è l'idea che ha il PHP della propria timezone si può eseguire il seguente codice:

print date_default_timezone_get() . "\n";
date_default_timezone_set('Europe/Rome');
print date_default_timezone_get() . "\n";

In generale si dovrà impostare il file /etc/php5/apache2/php.ini (o simile, controllare in che ambiente viene eseguito il PHP):

date.timezone = "Europe/Rome"

Pacchetto Debian python-tz

Contiene un database delle timezone. Consente di istanziare oggetti di tipo tzinfo, ad esempio pytz.utc oppure pytz.timezone('CET').

Timestamp con ora solare/legale

Nella tabella che segue ogni timestamp (calcolato come distanza dallo Unix epoch del 1970-01-01 00:00:00 UTC) è distante dal successivo 86400 secondi, cioè un giorno intero. La rappresentazione in orario locale (CET) mostra che è intervenuto il cambio da ora solare ad ora legale:

Ora locale Timestamp UTC
2015-03-28 01:00:00 CET 1427500800 2015-03-28T00:00:00Z
2015-03-29 01:00:00 CET 1427587200 2015-03-29T00:00:00Z
2015-03-30 02:00:00 CEST 1427673600 2015-03-30T00:00:00Z
2015-03-31 02:00:00 CEST 1427760000 2015-03-31T00:00:00Z