濮阳杆衣贸易有限公司

主頁 > 知識庫 > Python time庫的時間時鐘處理

Python time庫的時間時鐘處理

熱門標簽:幫人做地圖標注收費算詐騙嗎 溫州旅游地圖標注 遼寧400電話辦理多少錢 江蘇房產電銷機器人廠家 蘇州電銷機器人十大排行榜 外呼不封號系統(tǒng) 電信營業(yè)廳400電話申請 悟空智電銷機器人6 荊州云電銷機器人供應商

前言

time庫運行訪問多種類型的時鐘,這些時鐘用于不同的場景。本篇,將詳細講解time庫的應用知識。

獲取各種時鐘

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

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())

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

  • monotonic:用于測量一個長時間運行的進程的耗用時間,因為即使系統(tǒng)時間有改變,也能保證這個時鐘不會逆轉。
  • perf_counter:允許訪問有最高可用分辨率的時鐘,這使得短時間測量更為準確。
  • process_time:返回處理器時間和系統(tǒng)時間的組合結果。
  • time:返回從”紀元“開始以來的秒數(shù)。UNIX系統(tǒng)從1970年1月1日00:00開始計算。

運行之后,效果如下:

至于ns后綴,是返回納秒時間。

獲取當前時間

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

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

import time
print(time.ctime())

運行之后,效果如下:

這里返回了星期六:Sat,月份4月10號:Apr 10,年份:2021以及當前的時間。

時間加減法

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

import time
#獲取當前時間
print(time.ctime())
#獲取當前時間
later=time.time()+86400
#計算一天后的時間
print(time.ctime(later))
#計算20秒后的時間
print(time.ctime(time.time()+20))

運行之后,效果如下:

strptime()函數(shù)

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

顯然,我們需要分離關鍵的時間數(shù)據(jù)。而time庫提供了函數(shù)strptime()用于返回時間結構體數(shù)據(jù)struct_time對象。具體代碼如下:

import time

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

運行之后效果如下:

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

strftime()函數(shù)

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

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

import time

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

運行之后,效果如下:

需要注意的是,strftime()函數(shù)的第2個參數(shù)接受一個struct_time對象。而time.localtime()的作用就是格式化時間戳為本地的時間,它有一個sec參數(shù),也就是對應的time.time()函數(shù)的秒數(shù),將秒數(shù)轉換為標準的時間。如果沒有參數(shù),返回當前時間。

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

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

 mktime()函數(shù)

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

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

具體操作如下:

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))

運行之后,效果如下:

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

gmtime()函數(shù)

這個函數(shù)不做過多的講解,簡單的理解就是返回UTC時區(qū)的struct_time對象。也就是國際協(xié)調時間。

具體用法如下:

import time

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

運行之后,效果如下:

到此這篇關于Python time庫的時間時鐘處理的文章就介紹到這了,更多相關Python time庫時間時鐘內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python time.time()方法
  • 一篇文章帶你了解python標準庫--time模塊
  • 一篇文章帶你了解python標準庫--datetime模塊
  • python標準庫之time模塊的語法與簡單使用
  • 淺談Python3中datetime不同時區(qū)轉換介紹與踩坑
  • python常見模塊之OS模塊和time模塊
  • python語言time庫和datetime庫基本使用詳解
  • 關于python time庫整理匯總

標簽:臺灣 濟南 景德鎮(zhèn) 喀什 三沙 宿遷 欽州 黃山

巨人網絡通訊聲明:本文標題《Python time庫的時間時鐘處理》,本文關鍵詞  Python,time,庫,的,時間,時鐘,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python time庫的時間時鐘處理》相關的同類信息!
  • 本頁收集關于Python time庫的時間時鐘處理的相關信息資訊供網民參考!
  • 推薦文章
    永德县| 防城港市| 长兴县| 德庆县| 柳州市| 西城区| 邢台县| 垣曲县| 嘉义市| 乡城县| 双城市| 花垣县| 延边| 卫辉市| 从江县| 福安市| 松潘县| 阿克苏市| 建平县| 东明县| 芜湖县| 焦作市| 凤台县| 清河县| 定日县| 喜德县| 京山县| 资溪县| 滨海县| 静安区| 巍山| 常德市| 东光县| 古丈县| 峨山| 东安县| 行唐县| 东海县| 呼玛县| 济宁市| 黄冈市|