網(wǎng)站首頁 編程語言 正文
1、time庫
- 時間戳(timestamp)的方式:通常來說,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量
- 結(jié)構(gòu)化時間(struct_time)方式:struct_time元組共有9個元素
- 格式化的時間字符串(format_string),時間格式的字符串
1.1、獲取格林威治西部的夏令時地區(qū)的偏移秒數(shù)
- 如果該地區(qū)在格林威治東部會返回負(fù)值(如西歐,包括英國)
- 對夏令時啟用地區(qū)才能使用
# coding:utf-8
import time
# 獲取格林威治西部的夏令時地區(qū)的偏移秒數(shù)。
print(time.altzone)
1.2、時間函數(shù)
- 時間戳
指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現(xiàn)在的總秒數(shù) - 時間元組
用一個元組裝起來的9組數(shù)字
字段 |
含義 |
值 |
tm_year |
4位數(shù)年 |
2008 |
tm_mon |
月 |
1 到 12 |
tm_mday |
日 |
1 到 31 |
tm_hour |
小時 |
0 到 23 |
tm_min |
分鐘 |
0 到 59 |
tm_sec |
秒 |
0 到 61(60或61 是閏秒) |
tm_wday |
一周的第幾日 |
0 到 6(0是周一) |
tm_yday |
一年的第幾日 |
1 到 366(儒略歷) |
tm_isdst |
夏令時 |
-1, 0, 1 是決定是否為夏令時的旗幟 |
# coding:utf-8
import time
# 返回當(dāng)前時間的時間戳(1970紀(jì)元后經(jīng)過的浮點秒數(shù))
print(time.time())
# 接收時間戳返回一個24個定長可讀形式的字符串
print(time.ctime()) # Thu Jul 7 20:17:14 2022
print(len(time.ctime()), type(time.ctime())) # 24 <class 'str'>
# 接收時間戳(1970紀(jì)元后經(jīng)過的浮點秒數(shù))并返回當(dāng)?shù)貢r間下的時間元組
print(time.localtime())
print(time.localtime(time.time()))
# 接收時間戳(1970紀(jì)元后經(jīng)過的浮點秒數(shù))并返回格林威治天文時間下的時間元組
print(time.gmtime())
print(time.gmtime(time.time()))
# 接收時間元組并返回一個可讀的形式為"Thu Jul 7 20:11:04 2022"(2022年7月7日 周四20時11分04秒)的字符串,長度固定為24字符
print(time.asctime())
print(time.asctime(time.gmtime()))
print(time.asctime(time.localtime()))
print(len(time.asctime()), type(time.asctime())) # 24 <class 'str'>
# 接受時間元組并返回時間戳(1970紀(jì)元后經(jīng)過的浮點秒數(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()))) # 浮點秒數(shù)<class 'float'>
# 返回以秒為單位的時間浮點值
print(time.perf_counter())
print(type(time.perf_counter()))
# 返回以納秒為單位的時間整數(shù)值
print(time.perf_counter_ns()) # <class 'float'>
print(type(time.perf_counter_ns())) # <class 'int'>
1.3、格式化時間、日期
- 時間格式,格式化日期和時間時使用
格式符號 |
符號的含義 |
%y |
兩位數(shù)的年份表示(00-99) |
%Y |
四位數(shù)的年份表示(000-9999) |
%m |
月份(01-12) |
%d |
月內(nèi)中的一天(0-31) |
%H |
24小時制小時數(shù)(0-23) |
%I |
12小時制小時數(shù)(01-12) |
%M |
分鐘數(shù)(00-59) |
%S |
秒(00-59) |
%a |
本地簡化星期名稱 |
%A |
本地完整星期名稱 |
%b |
本地簡化的月份名稱 |
%B |
本地完整的月份名稱 |
%c |
本地相應(yīng)的日期表示和時間表示 |
%j |
年內(nèi)的一天(001-366) |
%p |
本地A.M.或P.M.的等價符 |
%U |
一年中的星期數(shù)(00-53)星期天為星期的開始 |
%w |
星期(0-6),星期天為 0,星期一為 1,以此類推。 |
%W |
一年中的星期數(shù)(00-53)星期一為星期的開始 |
%x |
本地相應(yīng)的日期表示 |
%X |
本地相應(yīng)的時間表示 |
%Z |
當(dāng)前時區(qū)的名稱 |
%% |
%號本身 |
# 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) 時間元組
# '%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)時鐘
- 單調(diào)時鐘是不能向后移動的時鐘
- 常用來計算程序運行處理時長
# coding:utf-8
import time
# 獲取 單調(diào)時鐘的值,單調(diào)時鐘是不能向后移動的時鐘
# 常用來計算程序運行處理時長
start_time = time.monotonic()
i = 0
print(f"循環(huán)開始時鐘值:{start_time}", type(start_time)) # 循環(huán)開始時鐘值:6718828000000 <class 'int'>
while i <= 10:
time.sleep(0.1)
i += 1
end_time = time.monotonic()
print(f"循環(huán)結(jié)束時鐘值:{end_time}")
print(f"循環(huán)運行時間為:{end_time - start_time} 秒")
# 獲取單調(diào)時鐘的值 以納秒計算
start_time_ns = time.monotonic_ns()
i = 0
print(f"循環(huán)開始時鐘值:{start_time_ns}", type(start_time_ns)) # 循環(huán)開始時鐘值:6718828000000 <class 'int'>
while i <= 10:
time.sleep(0.1)
i += 1
end_time_ns = time.monotonic_ns()
print(f"循環(huán)結(jié)束時鐘值:{end_time_ns}")
print(f"循環(huán)運行時間為:{end_time_ns - start_time_ns} 納秒")
# 返回以秒為單位的時間浮點值,用法同time.monotonic()
print(time.perf_counter())
print(type(time.perf_counter()))
# 返回以納秒為單位的時間整數(shù)值,用法同time.monotonic_ns()
print(time.perf_counter_ns()) # <class 'float'>
print(type(time.perf_counter_ns())) # <class 'int'>
# 返回當(dāng)前系統(tǒng)時間與CPU時間的浮動值(以秒為單位)
print(time.process_time())
# 返回當(dāng)前系統(tǒng)時間與CPU時間的浮動值(以納秒為單位)
print(time.process_time_ns())
# 睡眠,參數(shù)的單位為秒
time.sleep(1) # 程序等待1秒鐘后再執(zhí)行
原文鏈接:https://blog.51cto.com/u_12907475/5458655
相關(guān)推薦
- 2022-11-03 tomcat?集群監(jiān)控與彈性伸縮詳解_Tomcat
- 2022-08-15 element中this.$confirm的用法,element-ui MessageBox 彈框怎
- 2023-07-07 Spring 管理事務(wù)的方式有幾種? Spring 事務(wù)中的隔離級別有哪幾種?
- 2023-07-27 px自動轉(zhuǎn)rem
- 2022-03-14 Spring Redis Cache @Cacheable 大并發(fā)下返回null
- 2022-11-26 使用HttpClient消費ASP.NET?Web?API服務(wù)案例_實用技巧
- 2022-10-17 Net?core中使用System.Drawing對上傳的圖片流進(jìn)行壓縮(示例代碼)_實用技巧
- 2022-08-27 一文讀懂Android?Kotlin的數(shù)據(jù)流_Android
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支