带时区的默认日期时间字符串格式

Art*_*hur 6 python datetime date

我正在使用默认的python日期时间字符串格式和JSON Web服务.

然后,我试图将它与实际的日期时间进行比较.我也在使用时区pytz.utc.

这是我的字符串日期:

print date
2013-02-26 21:28:37.261134+01:00
Run Code Online (Sandbox Code Playgroud)

尝试将我的字符串转换为日期时间(使用时区编辑pytz):

if datetime.strptime(date, '%Y-%m-%d %H:%M:%S.%f+%Z') < datetime.now(pytz.utc):
Run Code Online (Sandbox Code Playgroud)

不幸的是,它不起作用.

ValueError: time data '2013-02-26 21:28:37.261134+01:00' does not match format '%Y-%m-%d %H:%M:%S.%f%Z'
Run Code Online (Sandbox Code Playgroud)

谁能告诉我strptime格式的正确语法,使用我的约会?

Ken*_*der 5

基本上是因为日期时间模块没有提前知道可用时区是什么.这有点蹩脚.

我建议使用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))
Run Code Online (Sandbox Code Playgroud)