python - 计算两个日期之间的年+月+天?
问题描述
我有两个人的出生信息,我想对他们做一些分析。比如,他们的年龄、秒、年+月+日之间的差异。我试过这个:
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
解决方案
使用datetime
和dateutil
:
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
推荐阅读
- python - 使用arcpy包intellisense进行Python开发
- r - 从 purrr 中的嵌套列表中提取拟合索引
- sql - Ship in access plan 的成本非常高
- django - 如何在 django url 中使用 slugs
- postgresql - 使用 data.sql 文件初始化 postgreSQL db 并进行 utf-8 编码工作
- html - 在 div 中加载新的 html 时避免 CSS 覆盖
- python - Python pandas - 替换加入
- cluster-analysis - 为什么降维会提高电影海报的无监督聚类性能?
- python - Python 2.7:此代码不起作用。有任何想法吗?
- git - 使用 ProxyCommand 和 Gateway 通过 SSH 从 bitbucket 管道部署到服务器