2 つの相対デルタ間で「>」比較を実行しようとしています。
if(relativedelta(current_date, last_activity_date) > relativedelta(minutes=15)):
Eclipse のデバッガー ウィンドウからの出力は次のとおりです。
相対デルタの 1 つはわずか 15 分で、他のものよりはるかに小さいです。この比較が false を返し、期待どおり true ではないのはなぜですか? より良い解決策は何ですか?
2 つの相対デルタ間で「>」比較を実行しようとしています。
if(relativedelta(current_date, last_activity_date) > relativedelta(minutes=15)):
Eclipse のデバッガー ウィンドウからの出力は次のとおりです。
相対デルタの 1 つはわずか 15 分で、他のものよりはるかに小さいです。この比較が false を返し、期待どおり true ではないのはなぜですか? より良い解決策は何ですか?
dateutil.relativedelta
賢明に実装されていない__cmp__
ため、インスタンスを比較できません。この問題には未解決のバグがあります。29日と1か月のどちらが大きいかを言うのは意味がなく、したがってすべてがPythonのデフォルトの比較に頼るという議論は、私には少し薄っぺらに思えますが、それは単なる意見です.
実際に何をしているかによっては、 を使用datetime.timedelta
する方がより良い解決策になる場合があります。