python - Python:计算月份日期之间的差异
问题描述
我正在尝试使用 relativedelta 查找两个日期之间的月差。我能够找到年和日的差异,但是当我按月过滤时得到 0。有什么建议么?
from dateutil import relativedelta as rd
import datetime as date
dateformat = '%Y/%m/%d'
startDate = date.strptime('2017/07/01',dateformat).date()
endDate = date.strptime('2019/10/29',dateformat).date()
date_diff = rd.relativedelta(endDate,startDate)
print(date_diff.days)
解决方案
这是解决方案:
from datetime import datetime
def diff_month(d1, d2):
return (d1.year - d2.year) * 12 + d1.month - d2.month
assert diff_month(datetime(2010,10,1), datetime(2010,9,1)) == 1
assert diff_month(datetime(2010,10,1), datetime(2009,10,1)) == 12
推荐阅读
- android - Android推送通知的自定义声音不起作用(FCM)
- xml - 如何在销售订单的操作下隐藏重复按钮
- python - 一旦满足,如何继续循环 if 语句并且不再循环整个 if 和 else
- node.js - 将状态对象中的字符串数组从 React 发布到 MongoDB
- c++ - 谁能解释 C++ 中有关 cin.tie() 的代码?
- docker - GitHub Actions 工作流程错误:权限被拒绝
- html - 网页设计 101:如何让我的链接与我网站中的页面一起使用
- python-3.x - 如何从 ubuntu 控制台运行几个 python 程序?
- c - 更改宏部分,让两个输出具有相同的值
- java - 从另一个包添加实体时出现“QuerySyntaxException:用户未映射”