鉴于我以字符串开头,例如 '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)
关于Python:获取从日期字符串开始的年数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5294314/