網站首頁 編程語言 正文
python中的時間包
datetime時間包
- datetime包是日期與時間的結合體(date&time)
- 可以獲取當前時間
- 可以獲取時間間隔
- 可以將時間對象轉換成時間字符串
- 可以將字符串轉成時間類型
導入datetime有兩種方式:導入datetime模塊或直接導入datetime包:
from datetime import datetime import datetime
獲取當前時間
使用方法:
datetime.now() # 導入模塊后調用方法 datetime.datetime.now # 直接導入包后調用方法
注意,返回的是一個對象,一個類的實例化對象
獲取時間間隔
單使用獲取時間間隔并沒有什么用處,要配合獲取當前時間來使用
使用方法:
from datetime import datetime from datetime import timedelta # timedelta是一個函數 timeobj = timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, week=0) # 后面的參數分別代表天,秒,毫秒,微秒,分鐘,小時,周;對應的值傳入整型 # 返回的是一個間隔時間段的對象,一個類的實例化對象
例子:
獲取前一天的當前時間:
時間對象轉時間字符串
上面講到的獲取到的當前時間和時間間隔都是一個對象,而時間對象是無法進行傳輸的,我們需要將時間對象轉換成字符串
方法:
時間對象.strftime(format) # format為想要轉成的格式,例如format為'%Y-%m-%d'時,會轉換成‘年-月-日'格式
例子:
時間字符串轉時間對象
時間字符串是無法進行加減法的,想要進行加減法,還需要將時間字符串轉換成時間對象
方法:
from datetime import datetime str_date = '2022-08-08 11:06:06' date_obj = datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S') # datetime.striptime()返回的是個時間對象
例子:
注意:strptime(str, '%Y-%m-%d %H:%M:%S')
左邊字符串的格式一定要和右邊參數的格式一致,否則會報錯:
擴展–時間格式字符
時間格式字符除了上面提到的%Y %m %d %H %M %S
外,代表年、月、日、時、分、秒,還有其他的字符,只不過不常用:
字符 | 描述 |
---|---|
%I | 一天中的第幾個小時(12小時制,01~12),%H是24小時制 |
%f | 毫秒 |
%a | 簡化的星期,如星期三Wed |
%A | 完整的星期,如星期三Wednesday |
%b | 簡化的月份,如二月Feb |
%B | 完整的月份,如二月February |
%c | 本地日期和時間,如Wed Feb 5 10:14:28 2022 |
%p | 顯示的上午還是下午,AM/PM |
%j | 一年中的第幾天 |
%U | 一年中的星期數 |
? | ? |
時間戳–timestamp
什么是時間戳?
時間戳就是從1970年1月1日00時00分00秒至今的總毫秒(秒)數
時間戳是float類型
將時間對象轉換成時間戳
方法:
from datetime import datetime datetime.timestamp(datetime.now()) # 返回當前時間戳
將時間戳轉換成時間對象
方法:
from datetime import datetime datetime.fromtimestamp(timestamp) # 返回時間對象
例子:
time時間包
獲取當前時間戳
方法:
import time time.time() # 返回秒級別的時間戳(浮點類型) # 如果想獲取毫秒級別的時間戳,只需要用秒級時間戳*1000即可
獲取本地時間
方法:
import time time.localtime(timestamp) # 傳入一個時間戳,也可以不傳,如果不傳會默認當前時間 # 返回一個對象(time.struct_time),對象的屬性有時間信息
time.localtime()
返回的對象屬性里有年月日時分秒等信息:
屬性 | 描述 | 取值范圍 |
---|---|---|
tm_year | 四位數年 | 2020 |
tm_mon | 月 | 1~12 |
tm_mday | 日 | 1~31 |
tm_hour | 時 | 0~23 |
tm_min | 分 | 0~59 |
tm_sec | 秒 | 0~61 |
tm_wday | 一周的第幾天 | 0~6(0是周一) |
tm_yday | 一年的第幾日 | 1~366 |
tm_isdst | 夏時令 | -1,0,1是否時夏時令 |
暫停函數sleep
用法:
import time time.sleep(second) # 傳入希望暫停的秒數
time中的strftime和strptime
strftime使用方法:
import time time.strftime(format, t) # format--格式化時間標準; t--time.localtime()返回的時間對象
strptime使用方法:
import time time.strptime(time_str, format) # time_str--時間格式的字符串; format--與time_str一致的格式化時間標準
思考:datetime和time都功能類似,為什么還需要兩個包呢?
答:在工作過程中,datetime常用于對日期的處理,而time常用于對時間的處理。
原文鏈接:https://blog.csdn.net/weixin_44629511/article/details/126226562
相關推薦
- 2022-04-06 聊聊c++數組名稱和sizeof的問題_C 語言
- 2022-12-12 flutter?Bloc?更新后事件同步與異步詳解_Android
- 2022-04-12 【scp】Windows 下scp報錯 bad permissions
- 2022-04-16 pycharm如何為函數插入文檔注釋_python
- 2022-09-16 Android?運用@JvmName解決函數簽名沖突問題詳解_Android
- 2022-04-28 postman測試接口各種類型傳值的實現_相關技巧
- 2022-06-12 GO語言中常見的排序算法使用示例_Golang
- 2022-11-16 詳解C++中的左值,純右值和將亡值_C 語言
- 最近更新
-
- 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同步修改后的遠程分支