1

我正在使用 relativedelta 来计算两个日期之间的差异。但是,似乎日期时间对象的年份部分没有被识别。如果日期是相同的年月,那么得到的计算是有意义的。

# 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
4

1 回答 1

1

没有月份,所以calc.monthsreturn 0

# Total months
calc = relativedelta.relativedelta(enddt, startdt)
print (calc)
relativedelta(years=+6, days=+24)

如果需要所有月份多年12并添加月份:

print (calc.months + calc.years * 12)
72
于 2020-10-07T11:35:28.483 回答