la colpa è di time.localtime: converte da un timestamp ad un tempo locale, non utc usa datetime.datetime.utcfromtimestamp Alcuni suggeriscono di usare mxDateTime, che pare sia un po' meno errorprone del builtin python, ma personalmente non l'ho mai usato: https://pypi.python.org/pypi/egenix-mx-base/