Python datetime strptime() and strftime(): how to preserve the timezone information Python的datetime模块中的strptime()和strftime()函数:如何保留时区信息。
- 论坛
- Python datetime strptime() and strftime(): how to preserve the timezone information Python的datetime模块中的strptime()和strftime()函数:如何保留时区信息。
7 浏览
Python datetime strptime() and strftime(): how to preserve the timezone information Python的datetime模块中的strptime()和strftime()函数:如何保留时区信息。
请看下面的代码:
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中无法实现这个简单的功能,而必须引入更多的依赖呢?