我正在尝试使用datetime.strptime解析以下日期时间值:
d = datetime.datetime.strptime('2018-03-26T18:00:00+01:00', "%Y-%m-%dT%H:%M:%Sz")
但是得到了这个错误:
ValueError: time data '2018-03-26T18:00:00+01:00' does not match format '%Y-%m-%dT%H:%M:%S%Z'
从我对文档的阅读中,%z
应该等同于UTC偏移,但是如果我将格式字符串更改为结束%S%z
,我会得到一个不同的错误:
ValueError: 'z' is a bad directive in format '%Y-%m-%dT%H:%M:%S%z'
虽然这个问题被标记为重复,但我不同意。我正在使用Python 2.7,如上所述,它不接受%z
TZ格式选项,因此评论中提到的方法对我不起作用。我最后通过使用本文中提到的dateutil
模块解决了这个问题:ISO to datetime object: 'z' is a bad directive
我想解决我自己的问题,虽然这似乎不可能,因为问题已被标记为重复。