8

我将默认的 python 日期时间字符串格式与 JSON 网络服务一起使用。

然后,我试图将它与实际的日期时间进行比较。而且我也在使用时区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格式的正确语法,使用我的日期?

4

1 回答 1

7

基本上这是因为 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))
于 2013-02-27T20:11:22.447 回答