将datetime对象与时区转换为分钟

时间:2018-05-12 12:29:55

标签: python-2.7 datetime

所以我用时区保存了我的日期时间对象,其中GMT + 8

2018-05-13 11:40:38.695000+08:00

我想要做的是将此日期时间对象转换为分钟,以便我可以将其与某些内容进行比较。

我试过这个

fmt = '%Y-%m-%d %H:%M:%S.%f+%Z'
d1 = datetime.datetime.strptime('2018-05-13 11:40:38.695000+08:00', fmt)

但是它给出了错误:

ValueError: time data '2018-05-13 11:40:38.695000+08:00' does not match format '%Y-%m-%d %H:%M:%S.%f+%Z'

是否有更有效的方式来实现我想要做的事情?我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

您需要将时区从+08:00更改为+0800,然后使用:

fmt = '%Y-%m-%d %H:%M:%S.%f%z'
d1 = datetime.datetime.strptime('2018-05-13 11:40:38.695000+0800', fmt)

输出:datetime.datetime(2018, 5, 13, 11, 40, 38, 695000, tzinfo=datetime.timezone(datetime.timedelta(0, 28800)))