Python標(biāo)準(zhǔn)庫(kù)time使用方式詳解
1、time庫(kù)
- 時(shí)間戳(timestamp)的方式:通常來(lái)說(shuō),時(shí)間戳表示的是從1970年1月1日00:00:00開始按秒計(jì)算的偏移量
- 結(jié)構(gòu)化時(shí)間(struct_time)方式:struct_time元組共有9個(gè)元素
- 格式化的時(shí)間字符串(format_string),時(shí)間格式的字符串
1.1、獲取格林威治西部的夏令時(shí)地區(qū)的偏移秒數(shù)
- 如果該地區(qū)在格林威治東部會(huì)返回負(fù)值(如西歐,包括英國(guó))
- 對(duì)夏令時(shí)啟用地區(qū)才能使用
# coding:utf-8 import time # 獲取格林威治西部的夏令時(shí)地區(qū)的偏移秒數(shù)。 print(time.altzone)
1.2、時(shí)間函數(shù)
- 時(shí)間戳
指格林威治時(shí)間1970年01月01日00時(shí)00分00秒(北京時(shí)間1970年01月01日08時(shí)00分00秒)起至現(xiàn)在的總秒數(shù) - 時(shí)間元組
用一個(gè)元組裝起來(lái)的9組數(shù)字
字段 | 含義 | 值 |
tm_year | 4位數(shù)年 | 2008 |
tm_mon | 月 | 1 到 12 |
tm_mday | 日 | 1 到 31 |
tm_hour | 小時(shí) | 0 到 23 |
tm_min | 分鐘 | 0 到 59 |
tm_sec | 秒 | 0 到 61(60或61 是閏秒) |
tm_wday | 一周的第幾日 | 0 到 6(0是周一) |
tm_yday | 一年的第幾日 | 1 到 366(儒略歷) |
tm_isdst | 夏令時(shí) | -1, 0, 1 是決定是否為夏令時(shí)的旗幟 |
# coding:utf-8 import time # 返回當(dāng)前時(shí)間的時(shí)間戳(1970紀(jì)元后經(jīng)過(guò)的浮點(diǎn)秒數(shù)) print(time.time()) # 接收時(shí)間戳返回一個(gè)24個(gè)定長(zhǎng)可讀形式的字符串 print(time.ctime()) # Thu Jul 7 20:17:14 2022 print(len(time.ctime()), type(time.ctime())) # 24 <class 'str'> # 接收時(shí)間戳(1970紀(jì)元后經(jīng)過(guò)的浮點(diǎn)秒數(shù))并返回當(dāng)?shù)貢r(shí)間下的時(shí)間元組 print(time.localtime()) print(time.localtime(time.time())) # 接收時(shí)間戳(1970紀(jì)元后經(jīng)過(guò)的浮點(diǎn)秒數(shù))并返回格林威治天文時(shí)間下的時(shí)間元組 print(time.gmtime()) print(time.gmtime(time.time())) # 接收時(shí)間元組并返回一個(gè)可讀的形式為"Thu Jul 7 20:11:04 2022"(2022年7月7日 周四20時(shí)11分04秒)的字符串,長(zhǎng)度固定為24字符 print(time.asctime()) print(time.asctime(time.gmtime())) print(time.asctime(time.localtime())) print(len(time.asctime()), type(time.asctime())) # 24 <class 'str'> # 接受時(shí)間元組并返回時(shí)間戳(1970紀(jì)元后經(jīng)過(guò)的浮點(diǎn)秒數(shù)) # print(time.mktime()) # 參數(shù)不可為空 TypeError: time.mktime() takes exactly one argument (0 given) print(time.mktime(time.gmtime())) print(time.mktime(time.localtime())) print(type(time.mktime(time.gmtime()))) # 浮點(diǎn)秒數(shù)<class 'float'> # 返回以秒為單位的時(shí)間浮點(diǎn)值 print(time.perf_counter()) print(type(time.perf_counter())) # 返回以納秒為單位的時(shí)間整數(shù)值 print(time.perf_counter_ns()) # <class 'float'> print(type(time.perf_counter_ns())) # <class 'int'>
1.3、格式化時(shí)間、日期
- 時(shí)間格式,格式化日期和時(shí)間時(shí)使用
格式符號(hào) | 符號(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),星期天為 0,星期一為 1,以此類推。 |
%W | 一年中的星期數(shù)(00-53)星期一為星期的開始 |
%x | 本地相應(yīng)的日期表示 |
%X | 本地相應(yīng)的時(shí)間表示 |
%Z | 當(dāng)前時(shí)區(qū)的名稱 |
%% | %號(hào)本身 |
# coding:utf-8 import time import datetime # 格式化日期 print(time.strftime('%Y-%m-%d %H:%M:%S')) print(time.strftime('%Y-%m-%d %I:%M:%S')) print(time.strftime('%X')) print(time.strftime('%Z')) # 將字符串轉(zhuǎn) 時(shí)間元組 # '%a %b %d %H:%M:%S %Y' print(time.strptime('2022-07-07 09:58:24', '%Y-%m-%d %H:%M:%S')) print(time.strptime('2022-07-07 09:58:24', '%Y-%m-%d %I:%M:%S'))
1.4、單調(diào)時(shí)鐘
- 單調(diào)時(shí)鐘是不能向后移動(dòng)的時(shí)鐘
- 常用來(lái)計(jì)算程序運(yùn)行處理時(shí)長(zhǎng)
# coding:utf-8 import time # 獲取 單調(diào)時(shí)鐘的值,單調(diào)時(shí)鐘是不能向后移動(dòng)的時(shí)鐘 # 常用來(lái)計(jì)算程序運(yùn)行處理時(shí)長(zhǎng) start_time = time.monotonic() i = 0 print(f"循環(huán)開始時(shí)鐘值:{start_time}", type(start_time)) # 循環(huán)開始時(shí)鐘值:6718828000000 <class 'int'> while i <= 10: time.sleep(0.1) i += 1 end_time = time.monotonic() print(f"循環(huán)結(jié)束時(shí)鐘值:{end_time}") print(f"循環(huán)運(yùn)行時(shí)間為:{end_time - start_time} 秒") # 獲取單調(diào)時(shí)鐘的值 以納秒計(jì)算 start_time_ns = time.monotonic_ns() i = 0 print(f"循環(huán)開始時(shí)鐘值:{start_time_ns}", type(start_time_ns)) # 循環(huán)開始時(shí)鐘值:6718828000000 <class 'int'> while i <= 10: time.sleep(0.1) i += 1 end_time_ns = time.monotonic_ns() print(f"循環(huán)結(jié)束時(shí)鐘值:{end_time_ns}") print(f"循環(huán)運(yùn)行時(shí)間為:{end_time_ns - start_time_ns} 納秒") # 返回以秒為單位的時(shí)間浮點(diǎn)值,用法同time.monotonic() print(time.perf_counter()) print(type(time.perf_counter())) # 返回以納秒為單位的時(shí)間整數(shù)值,用法同time.monotonic_ns() print(time.perf_counter_ns()) # <class 'float'> print(type(time.perf_counter_ns())) # <class 'int'> # 返回當(dāng)前系統(tǒng)時(shí)間與CPU時(shí)間的浮動(dòng)值(以秒為單位) print(time.process_time()) # 返回當(dāng)前系統(tǒng)時(shí)間與CPU時(shí)間的浮動(dòng)值(以納秒為單位) print(time.process_time_ns()) # 睡眠,參數(shù)的單位為秒 time.sleep(1) # 程序等待1秒鐘后再執(zhí)行
到此這篇關(guān)于Python標(biāo)準(zhǔn)庫(kù)time使用方式詳解的文章就介紹到這了,更多相關(guān)Python標(biāo)準(zhǔn)庫(kù)time 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python標(biāo)準(zhǔn)庫(kù) datetime的astimezone設(shè)置時(shí)區(qū)遇到的坑及解決
- Python標(biāo)準(zhǔn)庫(kù)datetime?date模塊的詳細(xì)介紹
- Python標(biāo)準(zhǔn)庫(kù)datetime之datetime模塊用法分析詳解
- 詳解Python常用標(biāo)準(zhǔn)庫(kù)之時(shí)間模塊time和datetime
- Python標(biāo)準(zhǔn)庫(kù)之time庫(kù)的使用教程詳解
- 一篇文章帶你了解python標(biāo)準(zhǔn)庫(kù)--time模塊
- Python 標(biāo)準(zhǔn)庫(kù)time時(shí)間的訪問(wèn)和轉(zhuǎn)換問(wèn)題小結(jié)
相關(guān)文章
python RabbitMQ 使用詳細(xì)介紹(小結(jié))
這篇文章主要介紹了python RabbitMQ 使用詳細(xì)介紹(小結(jié)),詳細(xì)的介紹了RabbitMQ的概念以及使用,對(duì)學(xué)習(xí)RabbitMQ有一定的幫助,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-11-11Python實(shí)現(xiàn)的爬蟲刷回復(fù)功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的爬蟲刷回復(fù)功能,結(jié)合實(shí)例形式分析了Python2.7基于爬蟲實(shí)現(xiàn)的模擬登陸、刷帖、回復(fù)等功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-06-06PyTorch梯度裁剪避免訓(xùn)練loss nan的操作
這篇文章主要介紹了PyTorch梯度裁剪避免訓(xùn)練loss nan的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05