0

python函数relativedelta计算时间差。
但是,我得到了错误的结果。

from dateutil import relativedelta
y=relativedelta.relativedelta(pd.to_datetime('2006-01-11'), pd.to_datetime('1988-09-26')).years
m=relativedelta.relativedelta(pd.to_datetime('2006-01-11'), pd.to_datetime('1988-09-26')).months
y*12+m

207
# should be 208

但上面应该是208因为m应该等于4而不是3

另一个例子得到了正确的结果:

y=relativedelta.relativedelta(pd.to_datetime('2006-01-11'), pd.to_datetime('2003-04-04')).years
m=relativedelta.relativedelta(pd.to_datetime('2006-01-11'), pd.to_datetime('2003-04-04')).months
y*12+m

33
# CORRECT!
y=relativedelta.relativedelta(pd.to_datetime('2006-01-17'), pd.to_datetime('2001-12-20')).years
m=relativedelta.relativedelta(pd.to_datetime('2006-01-17'), pd.to_datetime('2001-12-20')).months
y*12+m

48
# should be 49

任何想法?

4

0 回答 0