日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Python 标准库学习】时间相关的函数库 — time

發(fā)布時間:2023/12/10 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python 标准库学习】时间相关的函数库 — time 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

歡迎加入 Python 官方文檔翻譯團隊:https://www.transifex.com/python-doc/


time 模塊提供了各種時間相關(guān)的函數(shù),該模塊中的大多數(shù)函數(shù)是調(diào)用了所在平臺 C 語言庫的同名函數(shù),這些函數(shù)的語義因平臺而異,可能會在不同的平臺有不同的效果。

time 模塊和 datetime 模塊類似,區(qū)別在于 time 模塊提供的功能是更加接近于操作系統(tǒng)層面,所能表述的日期范圍被限定在 1970 - 2038 之間,而 datetime 模塊提供了更多實用的函數(shù),可以理解為 datetime 基于 time 進行了封裝,更加高級。

time 模塊官方文檔:https://docs.python.org/3.7/library/time.html


部分常用函數(shù):

    • 1、time.sleep(secs)
    • 2、time.time()
    • 3、time.gmtime([secs])
    • 4、time.localtime([secs])
    • 5、time.mktime(t)
    • 6、time.strftime(format[, t])
    • 7、time.strptime(string[, format])
    • 8、time.clock()
    • 9、time.asctime([t])
    • 10、time.ctime([secs])


1、time.sleep(secs)

暫停所執(zhí)行的調(diào)用線程達到給定的秒數(shù),然后恢復代碼正常執(zhí)行,參數(shù)可以是浮點數(shù),以指示更精確的睡眠時間。實際的暫停時間可能小于請求的時間。

應用舉例:

import time print('第一條語句執(zhí)行成功,5秒后執(zhí)行下一條語句...') time.sleep(5) print('第二條語句執(zhí)行成功。')

2、time.time()

自紀元(Epoch)年起以秒為單位返回浮點數(shù)的時間

在 Windows 和大多數(shù) Unix 系統(tǒng)上,紀元開始時間是 1970 年 1 月 1 日,00:00:00(UTC)

應用舉例:

>>> import time >>> print(time.time()) 1582879127.9589412

3、time.gmtime([secs])

將一個時間戳轉(zhuǎn)換為 UTC 時區(qū)的 struct_time 元組,struct_time 是在 time 模塊中定義的表示時間的對象,可選的參數(shù) secs 表示從紀元(Epoch)年起到現(xiàn)在的秒數(shù),即從1970 年 1 月 1 日,00:00:00 起到現(xiàn)在的秒數(shù),其默認值為 time.time(),函數(shù)返回 time.struct_time 類型的對象。

應用舉例:

>>> import time >>> print(time.gmtime()) time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=10, tm_min=18, tm_sec=1, tm_wday=4, tm_yday=59, tm_isdst=0) >>> >>> print(time.gmtime(1582879127)) time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=8, tm_min=38, tm_sec=47, tm_wday=4, tm_yday=59, tm_isdst=0) >>> >>> print(time.gmtime(666666.123456)) time.struct_time(tm_year=1970, tm_mon=1, tm_mday=8, tm_hour=17, tm_min=11, tm_sec=6, tm_wday=3, tm_yday=8, tm_isdst=0)

struct_time 元組結(jié)構(gòu)具有如下屬性:

序號屬性值
0tm_year4 位數(shù),年
1tm_mon1 - 12,月
2tm_mday1 - 31,日
3tm_hour0 - 23,小時
4tm_min0 - 59,分鐘
5tm_sec0 - 61,秒 (60 或 61 是閏秒)
6tm_wday0 - 6,一周的第幾日 (0 是周一)
7tm_yday1 - 366,一年的第幾日(儒略歷)
8tm_isdst1 表示夏令時,0 表示非夏令時,-1 表示未知

4、time.localtime([secs])

localtime() 函數(shù)類似 gmtime(),作用是格式化時間戳為本地的時間,如果 secs 參數(shù)未輸入,則以當前時間為轉(zhuǎn)換標準。

應用舉例:

>>> import time >>> print(time.localtime()) time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=19, tm_min=55, tm_sec=9, tm_wday=4, tm_yday=59, tm_isdst=0) >>> >>> print(time.localtime(1582879127)) time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=16, tm_min=38, tm_sec=47, tm_wday=4, tm_yday=59, tm_isdst=0)

5、time.mktime(t)

該函數(shù)執(zhí)行與 gmtime() 和 localtime() 相反的操作,它接收 struct_time 對象作為參數(shù),返回用秒數(shù)來表示時間的浮點數(shù)。t 參數(shù)表示結(jié)構(gòu)化的時間或者完整的9位元組元素。

如果輸入的值不是一個合法的時間,將觸發(fā) OverflowError 或 ValueError。

應用舉例:

>>> print(time.mktime((2020,2,28,20,40,14,5,59,0))) 1582893614.0

6、time.strftime(format[, t])

根據(jù)帶時間格式符號的字符串解析時間,并返回字符串,轉(zhuǎn)換一個元組或 struct_time 時間到由 format 參數(shù)指定的字符串格式。如果未提供 t ,則使用由 localtime() 返回的當前時間,format 必須是一個字符串,如果 t 中的任何字段超出允許范圍,則引發(fā) ValueError 。

應用舉例:

>>> import time >>> print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())) 2020-02-28 20:10:24 >>> >>> print(time.strftime('%a %b %d %H:%M:%S %Y', time.localtime())) Fri Feb 28 20:13:49 2020 >>> >>> print(time.strftime('%a %b %d %H:%M:%S %Y')) # 未指定 t,則使用由 localtime() 返回的當前時間 Fri Feb 28 20:15:16 2020

7、time.strptime(string[, format])

與 time.strftime() 函數(shù)相反,time.strptime() 則是根據(jù)指定的格式把一個時間字符串解析為時間元組。string 參數(shù)表示時間字符串,format 參數(shù)表示格式化字符串。

應用舉例:

>>> import time >>> print(time.strptime("Fri Feb 28 20:13:49 2020", "%a %b %d %H:%M:%S %Y")) time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=20, tm_min=13, tm_sec=49, tm_wday=4, tm_yday=59, tm_isdst=-1)

strftime() 和 strptime() 方法中 format 參數(shù)為時間日期格式化符號,各個格式化符號所代表的意思如下:

格式化符號含義
%a本地簡化星期名稱
%A本地完整星期名稱
%b本地簡化的月份名稱
%B本地完整的月份名稱
%c本地相應的日期表示和時間表示
%d月內(nèi)中的一天(0-31)
%f以十進制數(shù)表示的毫秒,在左側(cè)補零
%H24小時制小時數(shù)(0-23)
%I12小時制小時數(shù)(01-12)
%j年內(nèi)的一天(001-366)
%m月份(01-12)
%M分鐘數(shù)(00=59)
%p本地A.M.或P.M.的等價符
%S秒(00-59)
%U一年中的星期數(shù)(00-53)星期天為星期的開始
%w星期(0-6),星期天為星期的開始
%W一年中的星期數(shù)(00-53)星期一為星期的開始
%x本地相應的日期表示
%X本地相應的時間表示
%y兩位數(shù)的年份表示(00-99)
%Y四位數(shù)的年份表示(000-9999)
%z±HHMM[SS[.ffffff]] 形式的 UTC 差值(如果對象為簡單型則為空字符串)
%Z當前時區(qū)的名稱
%%%號本身

8、time.clock()

將當前 CPU 處理器時間返回為以秒為單位的浮點數(shù),通常用來衡量不同程序的耗時,比 time.time() 更有用。

注意:該函數(shù)在不同的系統(tǒng)上含義不同,在 Unix 系統(tǒng)上,它返回的是“進程時間”,它是用秒表示的浮點數(shù)(時間戳)。而在 Windows 中,第一次調(diào)用,返回的是進程運行的實際時間,而第二次之后的調(diào)用是自第一次調(diào)用以后到現(xiàn)在的運行時間。(實際上是以 Win32 上 QueryPerformanceCounter() 為基礎(chǔ),它比毫秒表示更為精確)

應用舉例:

>>> import time >>> time.clock() # 獲取時鐘秒數(shù) 3e-07 # 第一次調(diào)用該函數(shù)以來到執(zhí)行截止的秒數(shù) >>> t1 = time.clock() # 第二次執(zhí)行該函數(shù)截止秒數(shù) >>> t2 = time.clock() # 第三次執(zhí)行該函數(shù)截止秒數(shù) >>> t2 - t1 # 第三次與第二次執(zhí)行該函數(shù)截止秒數(shù)差 9.1433732

9、time.asctime([t])

該函數(shù)接受時間元組,并返回一個可讀的形式為 Fri Feb 28 20:40:14 2020(2020年2月28日 周五20時40分14秒)的24個字符的字符串。

日期字段的長度為兩個字符,如果日期只有一個數(shù)字則會以零填充。

如果不加參數(shù) t,默認就是 time.localtime() 返回的時間元組。

接受的時間元組可以是由 gmtime() 或 localtime() 所返回的表示時間的元組。

應用舉例:

>>> print(time.asctime()) # 不接收參數(shù),默認 time.localtime() 返回的時間元組 Fri Feb 28 20:44:16 2020 >>> >>> print(time.asctime(time.localtime())) # 接受 time.localtime() 參數(shù) Fri Feb 28 20:45:49 2020 >>> >>> print(time.asctime((2020,2,28,20,40,14,5,59,0))) # 人工指定時間結(jié)構(gòu)元組 Sat Feb 28 20:40:14 2020

10、time.ctime([secs])

該函數(shù)把一個時間戳(按秒計算的浮點數(shù))轉(zhuǎn)化為 time.asctime() 的形式。 如果參數(shù)未給或者為 None 的時候,將會默認 time.time() 為參數(shù)。它的作用相當于 asctime(localtime(secs))。secs 參數(shù)表示要轉(zhuǎn)換為字符串時間的秒數(shù)。

應用舉例:

>>> print(time.ctime()) Fri Feb 28 20:55:23 2020 >>> >>> print(time.ctime(1582879127)) Fri Feb 28 16:38:47 2020

總結(jié)

以上是生活随笔為你收集整理的【Python 标准库学习】时间相关的函数库 — time的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。