在一個表單中 遇到需要判斷填入的開始時間不能早於結束時間
自己想到一個笨辦法. 用 " 結束時間 - 開始時間 " 如果減后得到的結果 小於或者等於 0
顯然是錯的 因為兩個datetime對象 相減后 得到的是一個timedelta對象 , 而timedelta對象當然是不能與 int 對象來比較大小的
於是查了下文檔 發現timedelta對象的值是有取值范圍的
Attribute | Value |
---|---|
days | Between -999999999 and 999999999 inclusive |
seconds | Between 0 and 86399 inclusive |
microseconds | Between 0 and 999999 inclusive |
只有timedelta.days可以為負值, 也就是說當兩個datetime對象相減時 只有days可能變為負 因此可以比較days來判定日期是否符合要求
於是就想當然的寫了
if time_delta.days <= 0:
...
這么寫也是錯的....
再后來寫成了
if time_delta.days <0 or begin_time == end_time:
...
越來越糾結了...
回來后想想 應該有更好的辦法.
仔細看了下datetime模塊的文檔
發現原來datetime對象是可以直接比較大小的...
ok...那就是說...我前面真的是太糾結了...
好吧 其實可以直接這么干
if begin_time >= end_time:
...
problem solved :)