我正在尝试做'>'两个relativedeltas之间的比较:
if(relativedelta(current_date, last_activity_date) > relativedelta(minutes=15)):
以下是Eclipse中调试器窗口的输出:
debug window http://s9.postimage.org/95siv6t8v/relativedelta_ss.png
其中一个亲戚只有15分钟 - 远远小于另一个。为什么这个比较会返回错误而不是预期的真实?什么是更好的解决方案?
答案 0 :(得分:5)
dateutil.relativedelta
未明智地实施__cmp__
,因此无法比较实例。这个问题有一个open bug;认为29天或1个月是否更大是没有意义的论点,因此整个事情落后于python的默认比较似乎对我来说有点脆弱,但这只是一种意见。
根据您实际所做的事情,使用datetime.timedelta
可能是更好的解决方案。