Python datetime strptime () e strftime (): como preservar as informações de fuso horário

Veja o seguinte código:

import datetime
import pytz

fmt = '%Y-%m-%d %H:%M:%S %Z'

d = datetime.datetime.now(pytz.timezone("America/New_York"))
d_string = d.strftime(fmt)
d2 = datetime.datetime.strptime(d_string, fmt)
print d_string 
print d2.strftime(fmt)

a saída é

2013-02-07 17:42:31 EST
2013-02-07 17:42:31 

A informação do fuso horário simplesmente se perdeu na tradução.

Se eu mudar '% Z' para '% z', recebo

ValueError: 'z' is a bad directive in format '%Y-%m-%d %H:%M:%S %z'

Eu sei que posso usarpython-dateutil, mas eu achei bizarro que eu não posso conseguir esse recurso simples em datetime e tem que introduzir mais dependência?

questionAnswers(3)

yourAnswerToTheQuestion