python中time庫使用詳解
time庫的使用:
Python中內(nèi)置了一些與時(shí)間處理相關(guān)的庫,如time、datatime和calendar庫。
其中time庫是Python中處理時(shí)間的標(biāo)準(zhǔn)庫,是最基礎(chǔ)的時(shí)間處理庫。
time庫的功能如下:
(1)計(jì)算機(jī)時(shí)間的表達(dá)
(2)提供獲取系統(tǒng)時(shí)間并格式化輸出功能
(3)提供系統(tǒng)級精確計(jì)時(shí)功能,用于程序性能分析
格式如下:
import time
time.<b>( )
time庫包括三類函數(shù):
時(shí)間獲取:time()、ctime()、gmtime()、localtime()
時(shí)間格式化:strftime()、strptime()、asctime()
程序計(jì)時(shí):sleep()、perf_counter()
時(shí)間獲?。?/h2>
(1)time函數(shù)
獲取當(dāng)前時(shí)間戳(從世界標(biāo)準(zhǔn)時(shí)間的1970年1月1日00:00:00開始到當(dāng)前這一時(shí)刻為止的總秒數(shù)),即計(jì)算機(jī)內(nèi)部時(shí)間值,浮點(diǎn)數(shù)。
示例代碼如下:
import time print(time.time())
運(yùn)行界面如下:
(2)localtime()函數(shù)和gmtime()函數(shù)
Python提供了可以獲取結(jié)構(gòu)化時(shí)間的localtime()函數(shù)和gmtime函數(shù)
獲取當(dāng)前時(shí)間,表示為計(jì)算機(jī)可處理的時(shí)間格式(struct_time格式)
localtime()函數(shù)和gmtime()函數(shù)都可將時(shí)間戳轉(zhuǎn)換為以元組表示的時(shí)間對象(struct_time格式),但是localtime()函數(shù)得到的是當(dāng)?shù)貢r(shí)間,gmtime()函數(shù)得到的是世界統(tǒng)一時(shí)間。
格式如下所示:
localtime([secs]) gmtime([secs])
其中secs是一個(gè)表示時(shí)間戳的浮點(diǎn)數(shù),若不提供該參數(shù),默認(rèn)以time()函數(shù)獲取的時(shí)間戳作為參數(shù)。
localtime函數(shù)示例代碼如下:
import time print(time.localtime())#默認(rèn)以以time()函數(shù)獲取的時(shí)間戳作為參數(shù),為當(dāng)?shù)貢r(shí)間 print(time.localtime(34.54))#參數(shù)為浮點(diǎn)數(shù)
運(yùn)行界面如下:
gmtime函數(shù)示例如下:
import time print(time.gmtime())#世界統(tǒng)一時(shí)間。 print(time.gmtime(34.54))
運(yùn)行界面如下:
struct_time元組中元素的含義和取值
元素 | 含義 | 取值 |
tm_year | 年 | 4位數(shù)字,如2022 |
tm_mon | 月 | 1~12,如2 |
tm_mday | 日 | 1~31,如5 |
tm_hour | 時(shí) | 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 | 夏令時(shí) | 1:是夏令時(shí) 0:非夏令時(shí) -1:不確定 |
(3)ctime()函數(shù)(與asctime()函數(shù)為一對互補(bǔ)函數(shù))
讀取當(dāng)前時(shí)間并以易讀方式表示,返回字符串。
ctime()函數(shù)用于將一個(gè)時(shí)間戳(以s為單位的浮點(diǎn)數(shù))轉(zhuǎn)換為“Sat Jan 13 21:56:34 2018"這種形式(若該函數(shù)未收到參數(shù),則默認(rèn)以time.time()作為參數(shù)),轉(zhuǎn)換成的形式為”星期 月份 當(dāng)月號 時(shí)分秒 年份“。
示例代碼如下:
import time print(time.ctime()) print(time.ctime(34.56))
運(yùn)行界面如下:
時(shí)間格式化:
將時(shí)間以合理的方式展示出來
格式化:類似字符串格式化,需要有展示模板
展示模板由特定的格式化控制符組成
(1)strftime()函數(shù)(將時(shí)間格式輸出為字符串,與strptime函數(shù)互補(bǔ))。strftime(格式,時(shí)間 )主要決定時(shí)間的輸出格式
strftime()函數(shù)借助時(shí)間格式控制符來輸出格式化的時(shí)間字符串,其中%a,%d,%b等是time庫預(yù)定義的用于控制不同時(shí)間或時(shí)間成分的格式控制符。
time庫中常用的時(shí)間格式控制符及其說明如下所示
時(shí)間格式控制符 | 說明 |
%Y | 四位數(shù)的年份,取值范圍為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小時(shí)制小時(shí)數(shù)(00~23),例如:12 |
%l | 12小時(shí)制小時(shí)數(shù)(01~12),例如:7 |
%p | 上下午,取值為AM或PM |
%M | 分鐘數(shù)(00~59),例如26 |
%S | 秒(00~59),例如26 |
strftime()函數(shù)有兩條參數(shù),其中一個(gè)為tpl(格式化的模板字符串參數(shù),用來定義輸出效果),另一個(gè)為ts(是計(jì)算機(jī)內(nèi)部時(shí)間類型變量)
格式如下:
strftime(tpl,ts)
示例代碼如下:
import time t=time.gmtime() print(time.strftime("%Y-%m-%d %H:%M:%S",t))
運(yùn)行界面如下:
(2)strptime()函數(shù),strptime(字符串,格式),主要將該格式的字符串輸出為struct_time.
strptime(str,tpl)tpl(是格式化模板字符串,用來定義輸入效果)
str是字符串形式的時(shí)間值,所以他的格式為前面為字符串,后面為字符串的格式,然后輸出的格式為struct_time。
示例代碼如下:
import time print(time.strptime("2018-1-26 12:55:20",'%Y-%m-%d %H:%M:%S'))
運(yùn)行界面如下所示:
在對時(shí)間的理解上,我們可以這樣認(rèn)為:在計(jì)算機(jī)中為了表達(dá)時(shí)間,它其實(shí)只有一個(gè)浮點(diǎn)數(shù),前面提到的這個(gè)浮點(diǎn)數(shù)是從1970年1月1日開始的,然后為了讓其他的程序能夠更好的處理這個(gè)浮點(diǎn)數(shù),我們把它定義一個(gè)程序能夠理解的格式,這個(gè)格式就是用gmtime來獲取的struct_time格式。
struct_time格式,它包含了許多元素,這些元素的值都是通過浮點(diǎn)數(shù)來提供的。
反過來,我們也可以使用一個(gè)字符串賦予一個(gè)時(shí)間給我們的strptime類型,然后并由這個(gè)類型進(jìn)一步生成浮點(diǎn)數(shù)。
程序計(jì)時(shí):
程序計(jì)時(shí)應(yīng)用廣泛
程序計(jì)時(shí)指測量起止動作所經(jīng)歷時(shí)間的過程
測量時(shí)間指的是能夠記錄時(shí)間的流逝: perf_counter()獲取計(jì)算機(jī)中CPU也就是中央處理器以其頻率運(yùn)行的時(shí)鐘納秒計(jì)算,非常精確。
產(chǎn)生時(shí)間函數(shù):sleep
讓程序去休眠或者產(chǎn)生一定的時(shí)間
perf_counter()返回一個(gè)CPU級別的精確時(shí)間計(jì)數(shù)值,單位為秒,由于這個(gè)計(jì)數(shù)值起點(diǎn)不確定,連續(xù)調(diào)用差值才有意義
示例代碼如下:
import time start=time.perf_counter() end=time.perf_counter() print(start) print(end) print(end-start)
運(yùn)行界面如下:
sleep(s) s擬休眠的時(shí)間,單位是秒,可以是浮點(diǎn)數(shù)
示例代碼如下:
import time print("開始") time.sleep(3.3) print("結(jié)束")
運(yùn)行界面如下:
程序經(jīng)過3.3秒后輸出結(jié)束。
總結(jié)
到此這篇關(guān)于python中time庫使用詳解的文章就介紹到這了,更多相關(guān)python time庫詳解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python MySQL 日期時(shí)間格式化作為參數(shù)的操作
- Python獲取、格式化當(dāng)前時(shí)間日期的方法
- 使用Python將字符串轉(zhuǎn)換為格式化的日期時(shí)間字符串
- Python之time模塊的時(shí)間戳,時(shí)間字符串格式化與轉(zhuǎn)換方法(13位時(shí)間戳)
- python日期時(shí)間轉(zhuǎn)為字符串或者格式化輸出的實(shí)例
- Python簡單格式化時(shí)間的方法【strftime函數(shù)】
- python 時(shí)間戳與格式化時(shí)間的轉(zhuǎn)化實(shí)現(xiàn)代碼
- python中日期和時(shí)間格式化輸出的方法小結(jié)
- 使用Python的time庫格式化時(shí)間的方法
相關(guān)文章
Python如何爬取實(shí)時(shí)變化的WebSocket數(shù)據(jù)的方法
這篇文章主要介紹了Python如何爬取實(shí)時(shí)變化的WebSocket數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03使用pytorch和torchtext進(jìn)行文本分類的實(shí)例
今天小編就為大家分享一篇使用pytorch和torchtext進(jìn)行文本分類的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01python3往mysql插入二進(jìn)制圖片出現(xiàn)1064錯(cuò)誤
這篇文章主要介紹了python3往mysql插入二進(jìn)制圖片出現(xiàn)1064錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03關(guān)于python的list相關(guān)知識(推薦)
下面小編就為大家?guī)硪黄P(guān)于python的list相關(guān)知識(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08Python對多個(gè)sheet表進(jìn)行整合實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于Python對多個(gè)sheet表進(jìn)行整合實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-04-04