欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python基礎(chǔ)之time庫(kù)詳解

 更新時(shí)間:2021年04月27日 09:02:53   作者:李元靜  
這篇文章主要介紹了Python基礎(chǔ)之time庫(kù)詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下

一、前言

time庫(kù)運(yùn)行訪問多種類型的時(shí)鐘,這些時(shí)鐘用于不同的場(chǎng)景。本篇,將詳細(xì)講解time庫(kù)的應(yīng)用知識(shí)。

二、獲取各種時(shí)鐘

既然time庫(kù)提供了多種類型的時(shí)鐘。下面我們直接來獲取這些時(shí)鐘,對(duì)比其具體的用途。具體代碼如下:

import time

print(time.monotonic())
print(time.monotonic_ns())
print(time.perf_counter())
print(time.perf_counter_ns())
print(time.process_time())
print(time.process_time_ns())
print(time.time())
print(time.time_ns())

上面的代碼具體的意義如下:

1.monotonic:用于測(cè)量一個(gè)長(zhǎng)時(shí)間運(yùn)行的進(jìn)程的耗用時(shí)間,因?yàn)榧词瓜到y(tǒng)時(shí)間有改變,也能保證這個(gè)時(shí)鐘不會(huì)逆轉(zhuǎn)。

2.perf_counter:允許訪問有最高可用分辨率的時(shí)鐘,這使得短時(shí)間測(cè)量更為準(zhǔn)確。

3.process_time:返回處理器時(shí)間和系統(tǒng)時(shí)間的組合結(jié)果。

4.time:返回從”紀(jì)元“開始以來的秒數(shù)。UNIX系統(tǒng)從1970年1月1日00:00開始計(jì)算。

運(yùn)行之后,效果如下:

比較時(shí)鐘

至于ns后綴,是返回納秒時(shí)間。

三、獲取當(dāng)前時(shí)間

time.time()函數(shù)是獲取”紀(jì)元“時(shí)間,是不是可以通過秒分時(shí)的換算計(jì)算出現(xiàn)在的日期時(shí)間呢?

當(dāng)然可以,不過這太麻煩了,time庫(kù)還給我們提供了更簡(jiǎn)單的函數(shù)time.ctime()獲取當(dāng)前的日期與時(shí)間。具體代碼如下所示:

import time
print(time.ctime())

運(yùn)行之后,效果如下:

顯示當(dāng)前時(shí)間

這里返回了星期六:Sat,月份4月10號(hào):Apr 10,年份:2021以及當(dāng)前的時(shí)間。

四、時(shí)間加減法

如果你掌握了time.ctime()函數(shù)的參數(shù)用法,那么計(jì)算時(shí)間的加減法也可以輕而易舉的實(shí)現(xiàn)。不過有一點(diǎn)需要注意,就是需要將加減的參數(shù)需全部換成秒。比如1天后,那么就是加86400。具體代碼如下:

import time
#獲取當(dāng)前時(shí)間
print(time.ctime())
#獲取當(dāng)前時(shí)間
later=time.time()+86400
#計(jì)算一天后的時(shí)間
print(time.ctime(later))
#計(jì)算20秒后的時(shí)間
print(time.ctime(time.time()+20))

運(yùn)行之后,效果如下:

時(shí)間計(jì)算

五、strptime()函數(shù)

上面的代碼雖然可以獲取以及計(jì)算時(shí)間,但是獲取的時(shí)間非常的籠統(tǒng)。比如說,日歷應(yīng)用程序,我只需要計(jì)算今天是星期幾,并不需要知道其他數(shù)據(jù)怎么辦?

顯然,我們需要分離關(guān)鍵的時(shí)間數(shù)據(jù)。而time庫(kù)提供了函數(shù)strptime()用于返回時(shí)間結(jié)構(gòu)體數(shù)據(jù)struct_time對(duì)象。具體代碼如下:

import time

now = time.ctime()
struct_time = time.strptime(now)
print("當(dāng)前年份:", struct_time.tm_year)
print("當(dāng)前月份:", struct_time.tm_mon)
print("當(dāng)前日(年月日中的日):", struct_time.tm_mday)
print("當(dāng)前小時(shí)數(shù):", struct_time.tm_hour)
print("當(dāng)前分鐘數(shù):", struct_time.tm_min)
print("當(dāng)前星期:", struct_time.tm_wday+1)
print("今年過了{(lán)0}天(包括今天)".format(struct_time.tm_yday))

運(yùn)行之后效果如下:

結(jié)構(gòu)體

需要注意的是,程序中的星期一是0,tm_wday等于5,那么就需要加一,也就是等于星期六。

六、strftime()函數(shù)

通過strptime()函數(shù),我們雖然能夠獲取到單一的日期相關(guān)的數(shù)據(jù)。但是我如果只想要當(dāng)前的時(shí)間,怎么辦?當(dāng)然,你可以通過上面的分解,將時(shí),分,秒分別轉(zhuǎn)換為字符串然后拼接。不過這樣太麻煩了,我們有個(gè)更簡(jiǎn)單的方法。

這里,我們就需要用到time.strftime()函數(shù)。用法如下:

import time

s = time.strftime("%H:%M:%S", time.localtime())
print(s)

運(yùn)行之后,效果如下:

時(shí)間

需要注意的是,strftime()函數(shù)的第2個(gè)參數(shù)接受一個(gè)struct_time對(duì)象。而time.localtime()的作用就是格式化時(shí)間戳為本地的時(shí)間,它有一個(gè)sec參數(shù),也就是對(duì)應(yīng)的time.time()函數(shù)的秒數(shù),將秒數(shù)轉(zhuǎn)換為標(biāo)準(zhǔn)的時(shí)間。如果沒有參數(shù),返回當(dāng)前時(shí)間。

至于第1個(gè)參數(shù),用特定的標(biāo)識(shí)符,表示需要篩選的數(shù)據(jù)。具體用法如下表:

符號(hào) 含義
%y 兩位數(shù)的年份表示(00-99)
%Y 四位數(shù)的年份表示(000-9999)
%m 月份(01-12)
%d 月內(nèi)中的一天(0-31)
%H 24小時(shí)制小時(shí)數(shù)(0-23)
%I 12小時(shí)制小時(shí)數(shù)(01-12)
%M 分鐘數(shù)(00=59)
%S 秒(00-59)
%a 本地簡(jiǎn)化星期名稱
%A 本地完整星期名稱
%b 本地簡(jiǎn)化的月份名稱
%B 本地完整的月份名稱
%c 本地相應(yīng)的日期表示和時(shí)間表示
%j 年內(nèi)的一天(001-366)
%p 本地A.M.或P.M.的等價(jià)符
%U 一年中的星期數(shù)(00-53)星期天為星期的開始
%w 星期(0-6),星期天為星期的開始
%W 一年中的星期數(shù)(00-53)星期一為星期的開始
%x 本地相應(yīng)的日期表示
%X 本地相應(yīng)的時(shí)間表示
%Z 當(dāng)前時(shí)區(qū)的名稱
%% %號(hào)本身

七、mktime()函數(shù)

假如現(xiàn)在我們有一個(gè)需求,就是自己輸入時(shí)間的年月日時(shí)分秒,然后計(jì)算500秒后的時(shí)間點(diǎn)。怎么實(shí)現(xiàn)呢?

首先,我們需要實(shí)現(xiàn)time庫(kù)的加法運(yùn)算,就需要將我們輸入的日期數(shù)據(jù)轉(zhuǎn)換為time庫(kù)可識(shí)別的日期數(shù)據(jù),而time.mktime()函數(shù)能夠?qū)?shù)字轉(zhuǎn)換為time庫(kù)的日期數(shù)據(jù),然后再進(jìn)行加減法運(yùn)算。

具體操作如下:

import time

t = (2021, 2, 17, 17, 3, 38, 1, 48, 0)
second_time = time.mktime(t)
struct_time = time.localtime(second_time)
print(time.strftime("%Y-%m-%d %H:%M:%S", struct_time))

second_time2 = second_time + 500
struct_time = time.localtime(second_time2)
print(time.strftime("%Y-%m-%d %H:%M:%S", struct_time))
\

運(yùn)行之后,效果如下:

時(shí)間換算

需要注意的是,time.mktime()函數(shù)接受9位的元組數(shù)據(jù),少一位都會(huì)報(bào)錯(cuò)。元組數(shù)據(jù)的意義分別為年,月,日,時(shí),分,秒,星期幾,今年第幾天,是否為夏令時(shí)。當(dāng)?shù)箶?shù)2,3位數(shù)與前面日期沖突時(shí),time.mktime()函數(shù)會(huì)自動(dòng)修正。

八、gmtime()函數(shù)

這個(gè)函數(shù)不做過多的講解,簡(jiǎn)單的理解就是返回UTC時(shí)區(qū)的struct_time對(duì)象。也就是國(guó)際協(xié)調(diào)時(shí)間。

具體用法如下:

import time

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

運(yùn)行之后,效果如下:

時(shí)間效果

到此這篇關(guān)于Python基礎(chǔ)之time庫(kù)詳解的文章就介紹到這了,更多相關(guān)python time庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 手動(dòng)導(dǎo)包的實(shí)現(xiàn)

    Python 手動(dòng)導(dǎo)包的實(shí)現(xiàn)

    本文主要介紹了Python 手動(dòng)導(dǎo)包的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python下載網(wǎng)易云歌單歌曲的示例代碼

    Python下載網(wǎng)易云歌單歌曲的示例代碼

    這篇文章主要介紹了Python下載網(wǎng)易云歌單歌曲的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • PyMySQL實(shí)現(xiàn)增刪查改的簡(jiǎn)單使用

    PyMySQL實(shí)現(xiàn)增刪查改的簡(jiǎn)單使用

    這篇文章主要介紹了PyMySQL實(shí)現(xiàn)增刪查改的簡(jiǎn)單使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Python3導(dǎo)入CSV文件的實(shí)例(跟Python2有些許的不同)

    Python3導(dǎo)入CSV文件的實(shí)例(跟Python2有些許的不同)

    今天小編就為大家分享一篇Python3導(dǎo)入CSV文件的實(shí)例(跟Python2有些許的不同),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python運(yùn)維之獲取系統(tǒng)CPU信息的實(shí)現(xiàn)方法

    Python運(yùn)維之獲取系統(tǒng)CPU信息的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇Python運(yùn)維之獲取系統(tǒng)CPU信息的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 使用Python導(dǎo)出Excel圖表以及導(dǎo)出為圖片的方法

    使用Python導(dǎo)出Excel圖表以及導(dǎo)出為圖片的方法

    這篇文章主要介紹了使用Python導(dǎo)出Excel圖表以及導(dǎo)出為圖片的方法,Python相關(guān)模塊在Windows下操作office非常方便,需要的朋友可以參考下
    2015-11-11
  • python中os模塊和sys模塊的使用詳解

    python中os模塊和sys模塊的使用詳解

    本文主要介紹了python中os模塊和sys模塊的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python標(biāo)準(zhǔn)庫(kù)datetime?date模塊的詳細(xì)介紹

    Python標(biāo)準(zhǔn)庫(kù)datetime?date模塊的詳細(xì)介紹

    這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)datetime?date模塊的詳細(xì)介紹,datetime是Python提供的操作日期和時(shí)間的標(biāo)準(zhǔn)庫(kù),主要有datetime.date模塊、datetime.time模塊及datetime.datetime模塊
    2022-07-07
  • Python制作簡(jiǎn)易注冊(cè)登錄系統(tǒng)

    Python制作簡(jiǎn)易注冊(cè)登錄系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Python簡(jiǎn)易注冊(cè)登錄系統(tǒng)的制作方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Python調(diào)用C++程序的方法詳解

    Python調(diào)用C++程序的方法詳解

    這篇文章主要介紹了Python調(diào)用C++程序的方法,文中通過示例代碼介紹的詳細(xì),相信對(duì)大家具有一定的參考借鑒價(jià)值,需要的朋友們下面來一起看看吧。
    2017-01-01

最新評(píng)論