如何使用Python比較兩個日期以查看哪個日期更晚?如何比較兩個日期?
例如,我想檢查當前日期是否已超過我創建的此列表中最後一個日期的假日期間,以便它會自動發送電子郵件,通知管理員更新holiday.txt文件。
如何使用Python比較兩個日期以查看哪個日期更晚?如何比較兩個日期?
例如,我想檢查當前日期是否已超過我創建的此列表中最後一個日期的假日期間,以便它會自動發送電子郵件,通知管理員更新holiday.txt文件。
使用datetime
方法和運算符<
及其親屬。
>>> from datetime import datetime
>>> past = datetime.now()
>>> present = datetime.now()
>>> past < present
True
>>> datetime(3000, 1, 1) < present
False
>>> present - datetime(2000, 4, 4)
datetime.timedelta(4242, 75703, 762105)
datetime.date(2011, 1, 1) < datetime.date(2011, 1, 2)
將返回True
。
datetime.date(2011, 1, 1) - datetime.date(2011, 1, 2)
將返回datetime.timedelta(-1)
。
datetime.date(2011, 1, 1) + datetime.date(2011, 1, 2)
將返回datetime.timedelta(1)
。
請參閱docs。
使用time
比方說,你擁有初始日期作爲字符串像這樣:
date1 = "31/12/2015"
date2 = "01/01/2016"
你可以做到以下幾點:
newdate1 = time.strptime(date1, "%d/%m/%Y")
和newdate2 = time.strptime(date2, "%d/%m/%Y")
將它們轉換爲Python的日期格式。然後,比較明顯:
newdate1 > newdate2
將返回False
newdate1 < newdate2
將返回True
呃,你使用''<' and '>運營商,就像任何其他的比較。 –
@JohnMachin:你用原型'int compare_dates(void const *,void const *)'編寫一個函數,將兩個參數都轉換爲'struct Date *'並實現比較邏輯。對於Python新手來說,這可能不是那麼明顯。 –
@larsmans:對不起.... s/any_language/any_reasonable_language /任何習慣了不合理語言的人都應該花幾分鐘時間仔細閱讀文檔並嘗試使用date1