一尘不染

Python时代

python

我正在尝试将日期字符串转换为年龄。

字符串是这样的:“ Mon,17 Nov 2008 01:45:32 +0200”,我需要算出它的存在天数。

我已成功使用以下方法转换了日期:

>>> time.strptime("Mon, 17 Nov 2008 01:45:32 +0200","%a, %d %b %Y %H:%M:%S +0200")
(2008, 11, 17, 1, 45, 32, 0, 322, -1)

出于某种原因,%z给我+0200的错误,但没什么大不了的。

我可以使用以下时间获取当前时间:

>>> time.localtime()
(2009, 2, 3, 19, 55, 32, 1, 34, 0)

但是如何在不遍历列表中的每个项目并手动执行的情况下从另一个中减去一个?


阅读 247

收藏
2021-01-20

共1个答案

一尘不染

您需要使用模块datetime和对象datetime.timedelta

from datetime import datetime

t1 = datetime.strptime("Mon, 17 Nov 2008 01:45:32 +0200","%a, %d %b %Y %H:%M:%S +0200")
t2 = datetime.now()

tdelta = t2 - t1 # actually a datetime.timedelta object
print tdelta.days
2021-01-20