網站首頁 編程語言 正文
之前我們曾經分享過:Python獲取某一日期是“星期幾”的6種方法!實際上,在我們使用Python處理日期/時間的時候,經常會遇到各種各樣的問題。今天我們就來探討另一個問題,如何用Python比較兩個日期?
datetime
如果需要用Python處理日期和時間,大家肯定會先想到datetime、time、calendar等模塊。在這其中,datetime模塊主要是用來表示日期時間的,就是我們常說的年月日/時分秒。
datetime模塊中常用的類:
類名 | 功能說明 |
---|---|
date | 日期對象,常用的屬性有year,month,day |
time | 時間對象 |
datetime | 日期時間對象,常用的屬性有hour,minute,second,microsecond |
timedelta | 時間間隔,即兩個時間點之間的長度 |
tzinfo | 時區信息對象 |
那么,如何用datetime模塊比較兩個日期?
在交互式環境中輸入如下命令:
import?datetime first_date?=?datetime.date(2022,?2,?22) second_date?=?datetime.date(2022,?3,?1) print(first_date?<?second_date)
輸出:
True
我們會發現datetime
模塊可以使用比較運算符<
或>
來比較兩個日期。上述代碼中比較的是日期對象,如果換成日期時間對象也同樣可以這樣比較。
在交互式環境中輸入如下命令:
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
即可實現。
在交互式環境中輸入如下命令:
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()
函數,可以根據指定的格式把時間字符串解析為時間元組,利用這一特性也可以比較兩個日期。
在交互式環境中輸入如下命令:
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中時間處理的不同模塊、不同函數有很多可以總結的。
calendar(日歷)模塊、time(時間)模塊我們后續還會詳細介紹它們的小知識點。
原文鏈接:https://mp.weixin.qq.com/s/zjHbne_FZqvk9Anhe9rXew
相關推薦
- 2022-08-23 python實現GATK多線程加速示例_python
- 2022-11-19 如何解決error: failed to push some refs to 'xxx(遠程庫)'
- 2022-07-30 Python?excel合并居中值相同的單元格實例代碼_python
- 2023-01-28 深入分析Python中Lambda函數的用法_python
- 2022-12-24 Docker自定義網絡詳解_docker
- 2022-08-14 Android?中TextureView和SurfaceView的屬性方法及示例說明_Android
- 2022-04-14 如何解決:git push error: failed to push some refs to
- 2022-05-15 Python+Selenium實現讀取網易郵箱驗證碼_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支