我正在使用relativelta来计算两个日期之间的差异。然而,datetime对象的年份部分似乎没有被识别。如果日期是同一年的月份,则所获得的计算结果是有意义的。
# lease dates
start = json_obj['lease'][0]['start']
end = json_obj['lease'][0]['end']
print(end, start)
2026-10-31 2020-10-07
startdt = datetime.strptime(start, '%Y-%m-%d')
print(startdt)
2020-10-07 00:00:00
enddt = datetime.strptime(end, '%Y-%m-%d')
print(enddt)
2026-10-31 00:00:00
# Total months
calc = relativedelta.relativedelta(enddt, startdt)
calc.days
24
calc.months
0
没有月份,所以calc.months
返回0
:
# Total months
calc = relativedelta.relativedelta(enddt, startdt)
print (calc)
relativedelta(years=+6, days=+24)
如果需要12
的所有月数或年数,并添加月数:
print (calc.months + calc.years * 12)
72