【发布时间】:2023-03-24 21:27:01
【问题描述】:
此代码在 python 3.7 上运行,但在 3.6 上失败
from datetime import datetime
try:
d = datetime.strptime('2019-07-30T00:00:00.000-05:00', '%Y-%m-%dT%H:%M:%S.%f%z')
print(d)
except ValueError as ve:
print(str(ve))
ValueError:时间数据“2019-07-30T00:00:00.000-05:00”与格式“%Y-%m-%dT%H:%M:%S.%f%z”不匹配
时区偏移的格式是什么,例如-05:00 在 python 3.6 中?
【问题讨论】:
-
如答案中所述,3.6 中的格式为
±HHMM[SS[.ffffff]]。如果您的所有字符串都包含时区偏移,并且在小时和分钟之间使用冒号分隔符,您可以使用类似''.join(s.rsplit(':', maxsplit=1))的内容稍微修改字符串,其中s是 ISO 8601 字符串,例如'2019-07-30T00:00:00.000-05:00'。