基于strptime
的文档,我相信我的代码对于3个字符的时区和AM / PM是正确的。
为什么Python 2.5和Python 3.6不像我使用的字符串时间格式?
import datetime
ts = datetime.datetime.strptime(
"11/30/2017 01:08:05 PM CST",
'%m/%d/%Y %I:%M:%S %p %z'
)
要么
import datetime
ts = datetime.datetime.strptime(
"11/30/2017 01:08:05 PM CST",
'%m/%d/%Y %I:%M:%S %p %Z'
)
运行时都返回:
ValueError: time data '11/30/2017 01:08:05 PM CST' does
not match format '%m/%d/%Y %I:%M:%S %p %Z'
像CST
这样的符号时区不会被strptime
解析。而且他们相对没有意义。是CST
:
为了处理你的情况,你应该考虑使用dateutil.parser
,并为你想要支持的时区给它一个tzinfo
。