2009-09-14 36 views

回答

12

時間的方法在這裏工作。如果零時間信息爲零,則評估爲布爾錯誤。

if not value.time(): 
    # do stuff 
+3

嗯,這是乾淨的 – 2009-09-14 20:35:53

1

我沒有看到你的方法錯誤,但你可以將它與'歸零'時間對象進行比較。

someDateTime = datetime.datetime(2009, 4, 6, 0, 0) 
someDateTime.time() == datetime.time(0) 
0

另一種選擇:

if not (value.hour or value.minute or value.second): 
    # do stuff 
+0

即使您的選擇和'如果不是value.hour而不是value.minute和不是value.second'都做同樣的事情,我發現後者更清楚地表達了預期的行爲。 – 2009-09-14 20:29:48

1

你真需要檢查微秒爲好。另一種選擇:

NO_TIME = datetime.time(0) # can be stored as constant 

if (value.time() == NO_TIME): 
    # do stuff 
3

不要忽略HMS == 0爲1 86,400完全完成的時間值!取決於你在做什麼,這可能不會忽略不計。

+0

完全意識到這一點,在應用程序中永遠不應該有一個實例,這將是一個有效的輸入值(着名的遺言)。 – 2009-09-14 20:35:02

相關問題