Python比較兩個日期的兩種方法詳解
之前我們曾經(jīng)分享過:Python獲取某一日期是“星期幾”的6種方法!實際上,在我們使用Python處理日期/時間的時候,經(jīng)常會遇到各種各樣的問題。今天我們就來探討另一個問題,如何用Python比較兩個日期?
datetime
如果需要用Python處理日期和時間,大家肯定會先想到datetime、time、calendar等模塊。在這其中,datetime模塊主要是用來表示日期時間的,就是我們常說的年月日/時分秒。
datetime模塊中常用的類:
類名 | 功能說明 |
---|---|
date | 日期對象,常用的屬性有year,month,day |
time | 時間對象 |
datetime | 日期時間對象,常用的屬性有hour,minute,second,microsecond |
timedelta | 時間間隔,即兩個時間點之間的長度 |
tzinfo | 時區(qū)信息對象 |
那么,如何用datetime模塊比較兩個日期?
在交互式環(huán)境中輸入如下命令:
import?datetime first_date?=?datetime.date(2022,?2,?22) second_date?=?datetime.date(2022,?3,?1) print(first_date?<?second_date)
輸出:
True
我們會發(fā)現(xiàn)datetime
模塊可以使用比較運算符<
或>
來比較兩個日期。上述代碼中比較的是日期對象,如果換成日期時間對象也同樣可以這樣比較。
在交互式環(huán)境中輸入如下命令:
import?datetime first_date?=?datetime.datetime(2022,?2,?22,?12,?5,?0) second_date?=?datetime.datetime(2022,?3,?1,?12,?5,?0) print(first_date?<?second_date)
輸出:
True
strptime
前面示例代碼中,其實比較的都是日期對象/日期時間對象。但如果用戶輸入的、或批量導入的日期和時間是字符串格式,我們在進行比較的第一步就是先將str轉換為datetime。
至于轉換方法也非常簡單,只需要通過datetime.strptime
即可實現(xiàn)。
在交互式環(huán)境中輸入如下命令:
import?datetime strftime1?=?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()
函數(shù),可以根據(jù)指定的格式把時間字符串解析為時間元組,利用這一特性也可以比較兩個日期。
在交互式環(huán)境中輸入如下命令:
import?time strftime1?=?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中時間處理的不同模塊、不同函數(shù)有很多可以總結的。
calendar(日歷)模塊、time(時間)模塊我們后續(xù)還會詳細介紹它們的小知識點。
到此這篇關于Python比較兩個日期的兩種方法詳解的文章就介紹到這了,更多相關Python比較日期內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
import?sklearn報錯正確安裝sklearn的解決方法
這篇文章主要介紹了import?sklearn報錯正確安裝sklearn的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04Python中命令行參數(shù)argparse模塊的使用
argparse是python自帶的命令行參數(shù)解析包,可以用來方便的服務命令行參數(shù)。本文將通過示例和大家詳細講講argparse的使用,需要的可以參考一下2023-02-02