溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python的time庫(kù)使用實(shí)例分析

發(fā)布時(shí)間:2022-06-10 13:51:59 來(lái)源:億速云 閱讀:218 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容介紹了“python的time庫(kù)使用實(shí)例分析”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

time庫(kù)的使用:

Python中內(nèi)置了一些與時(shí)間處理相關(guān)的庫(kù),如time、datatime和calendar庫(kù)。

其中time庫(kù)是Python中處理時(shí)間的標(biāo)準(zhǔn)庫(kù),是最基礎(chǔ)的時(shí)間處理庫(kù)。

time庫(kù)的功能如下:

(1)計(jì)算機(jī)時(shí)間的表達(dá)

(2)提供獲取系統(tǒng)時(shí)間并格式化輸出功能

(3)提供系統(tǒng)級(jí)精確計(jì)時(shí)功能,用于程序性能分析

格式如下:

import time

time.<b>( )

time庫(kù)包括三類(lèi)函數(shù):

時(shí)間獲取:time()、ctime()、gmtime()、localtime()

時(shí)間格式化:strftime()、strptime()、asctime()

程序計(jì)時(shí):sleep()、perf_counter()

時(shí)間獲?。?/h3>

(1)time函數(shù)

獲取當(dāng)前時(shí)間戳(從世界標(biāo)準(zhǔn)時(shí)間的1970年1月1日00:00:00開(kāi)始到當(dāng)前這一時(shí)刻為止的總秒數(shù)),即計(jì)算機(jī)內(nèi)部時(shí)間值,浮點(diǎn)數(shù)。

示例代碼如下:

import time
print(time.time())

運(yùn)行界面如下:

python的time庫(kù)使用實(shí)例分析

(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í)間對(duì)象(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)行界面如下:

python的time庫(kù)使用實(shí)例分析

 gmtime函數(shù)示例如下:

import time
print(time.gmtime())#世界統(tǒng)一時(shí)間。
print(time.gmtime(34.54))

運(yùn)行界面如下: 

python的time庫(kù)使用實(shí)例分析

struct_time元組中元素的含義和取值

元素含義取值
tm_year

4位數(shù)字,如2022

tm_mon1~12,如2
tm_mday1~31,如5
tm_hour時(shí)0~23,如7
tm_min0~59,如50
tm_sec0~61(60或61是閏秒)
tm_wday一周的第幾日0~6(0為周一,依此類(lèi)推)
tm_yday一年的第幾日1~366(366為儒略歷)
tm_isdst夏令時(shí)

1:是夏令時(shí)

0:非夏令時(shí)

-1:不確定

(3)ctime()函數(shù)(與asctime()函數(shù)為一對(duì)互補(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)月號(hào) 時(shí)分秒 年份“。

示例代碼如下:

import time
print(time.ctime())
print(time.ctime(34.56))

運(yùn)行界面如下:

python的time庫(kù)使用實(shí)例分析

 時(shí)間格式化:

將時(shí)間以合理的方式展示出來(lái)

格式化:類(lèi)似字符串格式化,需要有展示模板

展示模板由特定的格式化控制符組成

(1)strftime()函數(shù)(將時(shí)間格式輸出為字符串,與strptime函數(shù)互補(bǔ))。strftime(格式,時(shí)間 )主要決定時(shí)間的輸出格式

strftime()函數(shù)借助時(shí)間格式控制符來(lái)輸出格式化的時(shí)間字符串,其中%a,%d,%b等是time庫(kù)預(yù)定義的用于控制不同時(shí)間或時(shí)間成分的格式控制符。

time庫(kù)中常用的時(shí)間格式控制符及其說(shuō)明如下所示

時(shí)間格式控制符說(shuō)明
%Y四位數(shù)的年份,取值范圍為0001~9999,如1900
%m月份(01~12),例如10
%d月中的一天(01~31)例如:25
%B本地完整的月份名稱,比如January
%b本地簡(jiǎn)化的月份名稱,比如Jan
%a本地簡(jiǎn)化的周日期,Mon~Sun,例如Wed
%A本地完整周日期,”Monday~Sunday,例如Wednesday
%H24小時(shí)制小時(shí)數(shù)(00~23),例如:12
%l12小時(shí)制小時(shí)數(shù)(01~12),例如:7
%p上下午,取值為AM或PM
%M分鐘數(shù)(00~59),例如26
%S秒(00~59),例如26

strftime()函數(shù)有兩條參數(shù),其中一個(gè)為tpl(格式化的模板字符串參數(shù),用來(lái)定義輸出效果),另一個(gè)為ts(是計(jì)算機(jī)內(nèi)部時(shí)間類(lèi)型變量)

格式如下:

strftime(tpl,ts)

示例代碼如下:

import time
t=time.gmtime()
print(time.strftime("%Y-%m-%d %H:%M:%S",t))

運(yùn)行界面如下:

python的time庫(kù)使用實(shí)例分析

(2)strptime()函數(shù),strptime(字符串,格式),主要將該格式的字符串輸出為struct_time.

strptime(str,tpl)tpl(是格式化模板字符串,用來(lái)定義輸入效果)

str是字符串形式的時(shí)間值,所以他的格式為前面為字符串,后面為字符串的格式,然后輸出的格式為struct_time。

示例代碼如下:

import time
print(time.strptime("2018-1-26 12:55:20",'%Y-%m-%d %H:%M:%S'))

運(yùn)行界面如下所示:

python的time庫(kù)使用實(shí)例分析

在對(duì)時(shí)間的理解上,我們可以這樣認(rèn)為:在計(jì)算機(jī)中為了表達(dá)時(shí)間,它其實(shí)只有一個(gè)浮點(diǎn)數(shù),前面提到的這個(gè)浮點(diǎn)數(shù)是從1970年1月1日開(kāi)始的,然后為了讓其他的程序能夠更好的處理這個(gè)浮點(diǎn)數(shù),我們把它定義一個(gè)程序能夠理解的格式,這個(gè)格式就是用gmtime來(lái)獲取的struct_time格式。

struct_time格式,它包含了許多元素,這些元素的值都是通過(guò)浮點(diǎn)數(shù)來(lái)提供的。

反過(guò)來(lái),我們也可以使用一個(gè)字符串賦予一個(gè)時(shí)間給我們的strptime類(lèi)型,然后并由這個(gè)類(lèi)型進(jìn)一步生成浮點(diǎn)數(shù)。

程序計(jì)時(shí):

程序計(jì)時(shí)應(yīng)用廣泛

程序計(jì)時(shí)指測(cè)量起止動(dòng)作所經(jīng)歷時(shí)間的過(guò)程

測(cè)量時(shí)間指的是能夠記錄時(shí)間的流逝: perf_counter()獲取計(jì)算機(jī)中CPU也就是中央處理器以其頻率運(yùn)行的時(shí)鐘納秒計(jì)算,非常精確。

產(chǎn)生時(shí)間函數(shù):sleep

讓程序去休眠或者產(chǎn)生一定的時(shí)間

perf_counter()返回一個(gè)CPU級(jí)別的精確時(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)行界面如下: 

python的time庫(kù)使用實(shí)例分析

sleep(s)  s擬休眠的時(shí)間,單位是秒,可以是浮點(diǎn)數(shù)

示例代碼如下:

import time
print("開(kāi)始")
time.sleep(3.3)
print("結(jié)束")

運(yùn)行界面如下:

python的time庫(kù)使用實(shí)例分析

 程序經(jīng)過(guò)3.3秒后輸出結(jié)束。

“python的time庫(kù)使用實(shí)例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI