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