O que você perdeu aqui é o fuso horário.
Presumivelmente, você tem cinco horas de folga no UTC, portanto, 2013-09-01T11: 00: 00 local e 2013-09-01T06: 00: 00Z são o mesmo horário.
Você precisa ler a parte superior dos datetime
documentos, que explica os fusos horários e os objetos "ingênuos" e "conscientes".
Se o seu data e hora ingênuo original era UTC, a maneira de recuperá-lo é usar em utcfromtimestamp
vez de fromtimestamp
.
Por outro lado, se o seu data e hora ingênuo original fosse local, você não deveria ter subtraído um carimbo de data / hora UTC dele em primeiro lugar; use em datetime.fromtimestamp(0)
vez disso.
Ou, se você tivesse um objeto de data e hora consciente, precisará usar uma época local (consciente) dos dois lados ou converter explicitamente para e do UTC.
Se você possui ou pode atualizar para o Python 3.3 ou posterior, pode evitar todos esses problemas apenas usando o timestamp
método em vez de tentar descobrir como fazê-lo. E mesmo se não o fizer, considere emprestar seu código-fonte .
(E se você pode esperar pelo Python 3.4, parece que o PEP 341 provavelmente chegará ao lançamento final, o que significa que todas as coisas sobre as quais JF Sebastian e eu estávamos falando nos comentários devem ser possíveis apenas com o stdlib, e trabalhando da mesma maneira no Unix e no Windows.)