我正在使用默认的python datetime字符串格式和JSON webservice。
然后,我试图将它与实际日期时间进行比较。我也在使用pytz.utc
时区。
这是我的字符串日期:
print date
2013-02-26 21:28:37.261134+01:00
尝试将我的字符串转换为日期时间(使用pytz
编辑时区):
if datetime.strptime(date, '%Y-%m-%d %H:%M:%S.%f+%Z') < datetime.now(pytz.utc):
不幸的是,它不起作用。
ValueError: time data '2013-02-26 21:28:37.261134+01:00' does not match format '%Y-%m-%d %H:%M:%S.%f%Z'
有人能告诉我strptime
格式的正确语法,使用我的日期吗?
答案 0 :(得分:5)
基本上是因为datetime模块提前知道可用时区是什么。这有点蹩脚。
我建议使用dateutil。这是第三方软件包,但是它解析了你的字符串。
>>> import dateutil.parser
>>> dateutil.parser.parse('2013-02-26 21:28:37.261134+01:00')
datetime.datetime(2013, 2, 26, 21, 28, 37, 261134, tzinfo=tzoffset(None, 3600))