Skip to main content
 首页 » 编程设计

Python:获取从日期字符串开始的年数

2025年05月04日23lhb25

鉴于我以字符串开头,例如 '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)