datetime
strptime
之前我們曾經分享過:Python獲取某一日期是“星期幾”的6種方法!實際上,在我們使用Python處理日期/時間的時候,經常會遇到各種各樣的問題。今天我們就來探討另一個問題,如何用Python比較兩個日期?
datetime如果需要用Python處理日期和時間,大家肯定會先想到datetime、time、calendar等模塊。在這其中,datetime模塊主要是用來表示日期時間的,就是我們常說的年月日/時分秒。
datetime模塊中常用的類:
類名功能說明 date日期對象,常用的屬性有year,month,daytime時間對象datetime日期時間對象,常用的屬性有hour,minute,second,microsecondtimedelta時間間隔,即兩個時間點之間的長度tzinfo時區信息對象那麼,如何用datetime模塊比較兩個日期?
在交互式環境中輸入如下命令:
import datetimefirst_date = datetime.date(2022, 2, 22)second_date = datetime.date(2022, 3, 1)print(first_date < second_date)
輸出:
True
我們會發現datetime
模塊可以使用比較運算符<
或>
來比較兩個日期。上述代碼中比較的是日期對象,如果換成日期時間對象也同樣可以這樣比較。
在交互式環境中輸入如下命令:
import datetimefirst_date = datetime.datetime(2022, 2, 22, 12, 5, 0)second_date = datetime.datetime(2022, 3, 1, 12, 5, 0)print(first_date < second_date)
輸出:
strptimeTrue
前面示例代碼中,其實比較的都是日期對象/日期時間對象。但如果用戶輸入的、或批量導入的日期和時間是字符串格式,我們在進行比較的第一步就是先將str轉換為datetime。
至於轉換方法也非常簡單,只需要通過datetime.strptime
即可實現。
在交互式環境中輸入如下命令:
import datetimestrftime1 = datetime.datetime.strptime("2022-02-22", "%Y-%m-%d")strftime2 = datetime.datetime.strptime("2022-03-01", "%Y-%m-%d")print("日期2022-02-22大於2022-03-01:", strftime1 > strftime2)
輸出結果:
另外time模塊中也有strptime()
函數,可以根據指定的格式把時間字符串解析為時間元組,利用這一特性也可以比較兩個日期。
在交互式環境中輸入如下命令:
import timestrftime1 = time.strptime("2022-02-22", "%Y-%m-%d")strftime2 = time.strptime("2022-03-01", "%Y-%m-%d")print(strftime1)print(strftime2)print("日期2022-02-22大於2022-03-01:", strftime1 > strftime2)
輸出結果:
以上,便是如何用Python比較兩個日期的幾個小方法。實際上,Python中時間處理的不同模塊、不同函數有很多可以總結的。
calendar(日歷)模塊、time(時間)模塊我們後續還會詳細介紹它們的小知識點。
到此這篇關於Python比較兩個日期的兩種方法詳解的文章就介紹到這了,更多相關Python比較日期內容請搜索軟件開發網以前的文章或繼續浏覽下面的相關文章希望大家以後多多支持軟件開發網!