首页 > 解决方案 > 计算两个日期之间的年+月+天?

问题描述

我有两个人的出生信息,我想对他们做一些分析。比如,他们的年龄、秒、年+月+日之间的差异。我试过这个:

from datetime import date
a = date(1991, 07, 20)
b = date(1999, 06, 06)
print((a-b).days)
-2878

这给了我2878几天,但我想计算years + months + days 我试图除以 2878/365,但我想要精确的计算我该如何处理?

预期输出:

7 years x months x days

标签: pythondatetime

解决方案


使用datetimedateutil

from datetime import datetime
from dateutil import relativedelta

date1 = datetime(1991, 7, 20)
date2 = datetime(1999, 6, 6)

diff = relativedelta.relativedelta(date2, date1)

years = diff.years
months = diff.months
days = diff.days

print('{} years {} months {} days'.format(years, months, days))
# 7 years 10 months 17 days

推荐阅读