次のコードを参照してください。
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)
出力は
2013-02-07 17:42:31 EST
2013-02-07 17:42:31
タイムゾーン情報は、翻訳で単に失われました。
「%Z」を「%z」に切り替えると、
ValueError: 'z' is a bad directive in format '%Y-%m-%d %H:%M:%S %z'
を使用できることはわかっpython-dateutil
ていますが、datetime でこの単純な機能を実現できず、さらに依存関係を導入する必要があるのは奇妙だと思いましたか?