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

标签 python string datetime time string-conversion

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

相关文章:

Python pytz 与 DST 的问题

python - 在 Google App Engine 中使用 pdfkit 生成 PDF 会引发 Popen 的 AttributeError

python - 有没有一种简单的方法可以获取单词中重复字符的数量?

python - 日期时间问题

c - 使用 strcpy 存储具有多个变量的字符串

C#:如何简化这个数字字符串到各种日期部分的代码

php - Codeigniter:将 MySql 日期时间与当前日期进行比较

python - python请求的正确使用方法是什么

python - 在 Python 中解析多个 CSV (.txt) 文件

python - 文件中组合元素的总和