Python中计算YYYY-MM格式两个日期的整数月份差
计算两个YYYY-MM格式日期的月份差(Python实现)
Python标准库中没有直接返回两个日期总月份差的函数,但可以通过datetime模块结合简单计算实现,也可以借助第三方库简化操作。
方法一:使用标准库datetime
先将字符串格式的日期解析为datetime对象,再通过年份差和月份差计算总月份数:
from datetime import datetime first_date = datetime.strptime('2008-02', '%Y-%m') second_date = datetime.strptime('2022-12', '%Y-%m') # 计算总月份差 months_diff = (second_date.year - first_date.year) * 12 + (second_date.month - first_date.month) print(months_diff) # 输出结果:178
这种方法无需额外安装依赖,逻辑清晰直接,适合大多数场景。
方法二:使用第三方库python-dateutil
如果希望写法更直观,可以使用dateutil.relativedelta直接获取年、月差值,再转换为总月份:
首先安装依赖:
pip install python-dateutil
然后编写代码:
from datetime import datetime from dateutil.relativedelta import relativedelta first_date = datetime.strptime('2008-02', '%Y-%m') second_date = datetime.strptime('2022-12', '%Y-%m') diff = relativedelta(second_date, first_date) months_diff = diff.years * 12 + diff.months print(months_diff) # 输出结果:178
relativedelta会自动处理日期的年、月差异,代码可读性更强。
内容的提问来源于stack exchange,提问作者Bogaso
相关产品推荐
相关产品推荐

