網站首頁 編程語言 正文
time庫的使用:
Python中內置了一些與時間處理相關的庫,如time、datatime和calendar庫。
其中time庫是Python中處理時間的標準庫,是最基礎的時間處理庫。
time庫的功能如下:
(1)計算機時間的表達
(2)提供獲取系統時間并格式化輸出功能
(3)提供系統級精確計時功能,用于程序性能分析
格式如下:
import time
time.<b>( )
time庫包括三類函數:
時間獲取:time()、ctime()、gmtime()、localtime()
時間格式化:strftime()、strptime()、asctime()
程序計時:sleep()、perf_counter()
時間獲取:
(1)time函數
獲取當前時間戳(從世界標準時間的1970年1月1日00:00:00開始到當前這一時刻為止的總秒數),即計算機內部時間值,浮點數。
示例代碼如下:
import time
print(time.time())
運行界面如下:
(2)localtime()函數和gmtime()函數
Python提供了可以獲取結構化時間的localtime()函數和gmtime函數
獲取當前時間,表示為計算機可處理的時間格式(struct_time格式)
localtime()函數和gmtime()函數都可將時間戳轉換為以元組表示的時間對象(struct_time格式),但是localtime()函數得到的是當地時間,gmtime()函數得到的是世界統一時間。
格式如下所示:
localtime([secs])
gmtime([secs])
其中secs是一個表示時間戳的浮點數,若不提供該參數,默認以time()函數獲取的時間戳作為參數。
localtime函數示例代碼如下:
import time
print(time.localtime())#默認以以time()函數獲取的時間戳作為參數,為當地時間
print(time.localtime(34.54))#參數為浮點數
運行界面如下:
?gmtime函數示例如下:
import time
print(time.gmtime())#世界統一時間。
print(time.gmtime(34.54))
運行界面如下:?
struct_time元組中元素的含義和取值
元素 | 含義 | 取值 |
tm_year | 年 | 4位數字,如2022 |
tm_mon | 月 | 1~12,如2 |
tm_mday | 日 | 1~31,如5 |
tm_hour | 時 | 0~23,如7 |
tm_min | 分 | 0~59,如50 |
tm_sec | 秒 | 0~61(60或61是閏秒) |
tm_wday | 一周的第幾日 | 0~6(0為周一,依此類推) |
tm_yday | 一年的第幾日 | 1~366(366為儒略歷) |
tm_isdst | 夏令時 |
1:是夏令時 0:非夏令時 -1:不確定 |
(3)ctime()函數(與asctime()函數為一對互補函數)
讀取當前時間并以易讀方式表示,返回字符串。
ctime()函數用于將一個時間戳(以s為單位的浮點數)轉換為“Sat Jan 13 21:56:34 2018"這種形式(若該函數未收到參數,則默認以time.time()作為參數),轉換成的形式為”星期?月份 當月號 時分秒 年份“。
示例代碼如下:
import time
print(time.ctime())
print(time.ctime(34.56))
運行界面如下:
?時間格式化:
將時間以合理的方式展示出來
格式化:類似字符串格式化,需要有展示模板
展示模板由特定的格式化控制符組成
(1)strftime()函數(將時間格式輸出為字符串,與strptime函數互補)。strftime(格式,時間?)主要決定時間的輸出格式
strftime()函數借助時間格式控制符來輸出格式化的時間字符串,其中%a,%d,%b等是time庫預定義的用于控制不同時間或時間成分的格式控制符。
time庫中常用的時間格式控制符及其說明如下所示
時間格式控制符 | 說明 |
%Y | 四位數的年份,取值范圍為0001~9999,如1900 |
%m | 月份(01~12),例如10 |
%d | 月中的一天(01~31)例如:25 |
%B | 本地完整的月份名稱,比如January |
%b | 本地簡化的月份名稱,比如Jan |
%a | 本地簡化的周日期,Mon~Sun,例如Wed |
%A | 本地完整周日期,”Monday~Sunday,例如Wednesday |
%H | 24小時制小時數(00~23),例如:12 |
%l | 12小時制小時數(01~12),例如:7 |
%p | 上下午,取值為AM或PM |
%M | 分鐘數(00~59),例如26 |
%S | 秒(00~59),例如26 |
strftime()函數有兩條參數,其中一個為tpl(格式化的模板字符串參數,用來定義輸出效果),另一個為ts(是計算機內部時間類型變量)
格式如下:
strftime(tpl,ts)
示例代碼如下:
import time
t=time.gmtime()
print(time.strftime("%Y-%m-%d %H:%M:%S",t))
運行界面如下:
(2)strptime()函數,strptime(字符串,格式),主要將該格式的字符串輸出為struct_time.
strptime(str,tpl)tpl(是格式化模板字符串,用來定義輸入效果)
str是字符串形式的時間值,所以他的格式為前面為字符串,后面為字符串的格式,然后輸出的格式為struct_time。
示例代碼如下:
import time
print(time.strptime("2018-1-26 12:55:20",'%Y-%m-%d %H:%M:%S'))
運行界面如下所示:
在對時間的理解上,我們可以這樣認為:在計算機中為了表達時間,它其實只有一個浮點數,前面提到的這個浮點數是從1970年1月1日開始的,然后為了讓其他的程序能夠更好的處理這個浮點數,我們把它定義一個程序能夠理解的格式,這個格式就是用gmtime來獲取的struct_time格式。
struct_time格式,它包含了許多元素,這些元素的值都是通過浮點數來提供的。
反過來,我們也可以使用一個字符串賦予一個時間給我們的strptime類型,然后并由這個類型進一步生成浮點數。
程序計時:
程序計時應用廣泛
程序計時指測量起止動作所經歷時間的過程
測量時間指的是能夠記錄時間的流逝: perf_counter()獲取計算機中CPU也就是中央處理器以其頻率運行的時鐘納秒計算,非常精確。
產生時間函數:sleep
讓程序去休眠或者產生一定的時間
perf_counter()返回一個CPU級別的精確時間計數值,單位為秒,由于這個計數值起點不確定,連續調用差值才有意義
示例代碼如下:
import time
start=time.perf_counter()
end=time.perf_counter()
print(start)
print(end)
print(end-start)
運行界面如下:?
sleep(s)? s擬休眠的時間,單位是秒,可以是浮點數
示例代碼如下:
import time
print("開始")
time.sleep(3.3)
print("結束")
運行界面如下:
?程序經過3.3秒后輸出結束。
總結
原文鏈接:https://blog.csdn.net/weixin_59448049/article/details/122790431
相關推薦
- 2022-12-11 python模塊itsdangerous簡單介紹_python
- 2022-07-03 canvas文字居中;canvas畫布文字右對齊;canvas畫布文字左對齊;canvas文字自動換
- 2022-10-10 AOSP源碼下載示例代碼_Android
- 2022-06-01 kubernetes中的namespace、node、pod介紹_云和虛擬化
- 2022-05-03 Shell內置命令教程之alias和echo_linux shell
- 2022-03-28 c語言經典習題之逆序字符串詳解_C 語言
- 2022-07-11 python利用多線程+隊列技術爬取中介網互聯網網站排行榜_python
- 2022-07-04 Python三數之和的實現方式_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同步修改后的遠程分支