请参阅以下代码:
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 中实现这个简单的功能并且必须引入更多的依赖关系?