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
任何想法?