比较dateutil.relativedelta

时间:2012-07-28 20:18:03

标签: python

我正在尝试做'>'两个relativedeltas之间的比较:

if(relativedelta(current_date, last_activity_date) > relativedelta(minutes=15)):

以下是Eclipse中调试器窗口的输出:

debug window http://s9.postimage.org/95siv6t8v/relativedelta_ss.png

其中一个亲戚只有15分钟 - 远远小于另一个。为什么这个比较会返回错误而不是预期的真实?什么是更好的解决方案?

1 个答案:

答案 0 :(得分:5)

dateutil.relativedelta未明智地实施__cmp__,因此无法比较实例。这个问题有一个open bug;认为29天或1个月是否更大是没有意义的论点,因此整个事情落后于python的默认比较似乎对我来说有点脆弱,但这只是一种意见。

根据您实际所做的事情,使用datetime.timedelta可能是更好的解决方案。