访问python dateutil relativedelta值

访问python dateutil relativedelta值,python,relativedelta,Python,Relativedelta,我对python非常陌生,我遇到了一个小问题,我无法通过谷歌搜索找到答案。我正在运行以下代码: from dateutil import relativedelta as rdelta def diff_dates(date1, date2): return rdelta.relativedelta(date1,date2) d1和d2是两个独立的日期 years = diff_dates(d2,d1) print "Years: ", years 多年来打印出来的值是我期望的正确

我对python非常陌生,我遇到了一个小问题,我无法通过谷歌搜索找到答案。我正在运行以下代码:

from dateutil import relativedelta as rdelta
def diff_dates(date1, date2):
    return rdelta.relativedelta(date1,date2)
d1
d2
是两个独立的日期

years = diff_dates(d2,d1)

print "Years: ", years
多年来打印出来的值是我期望的正确值。我的问题是,我需要访问这些值并与其他一些值进行比较。无论我如何尝试访问数据,我都会遇到类似的错误:

AttributeError: relativedelta instance has no __call__ method

我需要得到年、月、日,任何帮助都将不胜感激。

您得到的对象,您称之为
,包含所有信息。该对象的属性为所需的值:

In [12]: d = rdelta.relativedelta(datetime.datetime(1998, 10, 20, 1, 2, 3), datetime.datetime(2001, 5, 3, 3, 4, 5))

In [13]: d
Out[13]: relativedelta(years=-2, months=-6, days=-14, hours=-2, minutes=-2, seconds=-2)

In [14]: d.years
Out[14]: -2

In [15]: d.months
Out[15]: -6