我是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我需要得到年,月和天,任何帮助都会非常感谢。
发布于 2014-09-09 22:36:37
您所获得的对象,也就是您称为years的对象,其内部包含所有信息。该对象具有所需的值作为属性:
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]: -6https://stackoverflow.com/questions/25747170
复制相似问题