2011-10-24 35 views
2

我需要查看日期是否超過X天。我怎樣才能在Python中做到這一點?如何比較Python中的日期?

我已經測試是這樣的:

​​3210

我得到了錯誤:

TypeError: can't compare datetime.date to datetime.timedelta 

上的任何線索如何實現這一目標?

+2

那是什麼意思?那一天的月份比X大?要獲取某個日期的月份日期,請使用''day''屬性。 ''如果thedate.day> X:'' – codeape

回答

7

您無法將datetimetimedelta進行比較。 A timedelta代表持續時間,datetime代表特定的時間點。兩個datetimedifferencetimedelta。日期時間可以相互比較,如同timedelta s。

你有2種選擇:

  • 減去另一個datetime從你給的一個,然後比較所產生timedelta你也已經給了timedelta
  • 通過增加或減去它到另一個datetime轉換的timedeltadatetime,然後比較所產生的datetime與你給datetime
1

比較蘋果和橘子總是很辛苦!您試圖比較「2010年1月12日」(固定時間點)和「3小時」(持續時間)。這是沒有意義的。

如果你問是「做我datetime秋季每月的第N天之後」,那麼你可以這樣做:「我要看看的日期比X天以上」

my_important_date = datetime.now() 

if my_important_date.day > n: 
    pass #do you important things