鉴于我以字符串开头,例如 '3/6/2011' 是月/日/年,而当前日期是 3/13/2011(7 天后),我如何在 Python 中找到从那时起 (7/365 = 0.0191780821917808) 已经过去的年数?
请注意,我希望能够处理任何输入日期。虽然不是任何格式,但您可以采用上述格式。
请您参考如下方法:
您可以通过减去两个 datetime 来获得 timedelta,这为您提供了很多很酷的时间差操作方法。
>>> import datetime
>>> before = datetime.datetime.strptime('3/6/2011','%m/%d/%Y')
>>> now = datetime.datetime.now()
>>> type(now-before)
<type 'datetime.timedelta'>
>>> (now-before).days
7
>>> float((now-before).days)/365
0.019178082191780823
编辑:哇,谁会想到这个简单的问题有如此深的深度。看看在 this question 上得票最多的答案.处理闰年是一个“难题”。 (归功于@kriegar)
