網站首頁 編程語言 正文
1、time庫
- 時間戳(timestamp)的方式:通常來說,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量
- 結構化時間(struct_time)方式:struct_time元組共有9個元素
- 格式化的時間字符串(format_string),時間格式的字符串
1.1、獲取格林威治西部的夏令時地區的偏移秒數
- 如果該地區在格林威治東部會返回負值(如西歐,包括英國)
- 對夏令時啟用地區才能使用
# coding:utf-8
import time
# 獲取格林威治西部的夏令時地區的偏移秒數。
print(time.altzone)
1.2、時間函數
- 時間戳
指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數 - 時間元組
用一個元組裝起來的9組數字
字段 |
含義 |
值 |
tm_year |
4位數年 |
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
# 返回當前時間的時間戳(1970紀元后經過的浮點秒數)
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紀元后經過的浮點秒數)并返回當地時間下的時間元組
print(time.localtime())
print(time.localtime(time.time()))
# 接收時間戳(1970紀元后經過的浮點秒數)并返回格林威治天文時間下的時間元組
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紀元后經過的浮點秒數)
# print(time.mktime()) # 參數不可為空 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()))) # 浮點秒數<class 'float'>
# 返回以秒為單位的時間浮點值
print(time.perf_counter())
print(type(time.perf_counter()))
# 返回以納秒為單位的時間整數值
print(time.perf_counter_ns()) # <class 'float'>
print(type(time.perf_counter_ns())) # <class 'int'>
1.3、格式化時間、日期
- 時間格式,格式化日期和時間時使用
格式符號 |
符號的含義 |
%y |
兩位數的年份表示(00-99) |
%Y |
四位數的年份表示(000-9999) |
%m |
月份(01-12) |
%d |
月內中的一天(0-31) |
%H |
24小時制小時數(0-23) |
%I |
12小時制小時數(01-12) |
%M |
分鐘數(00-59) |
%S |
秒(00-59) |
%a |
本地簡化星期名稱 |
%A |
本地完整星期名稱 |
%b |
本地簡化的月份名稱 |
%B |
本地完整的月份名稱 |
%c |
本地相應的日期表示和時間表示 |
%j |
年內的一天(001-366) |
%p |
本地A.M.或P.M.的等價符 |
%U |
一年中的星期數(00-53)星期天為星期的開始 |
%w |
星期(0-6),星期天為 0,星期一為 1,以此類推。 |
%W |
一年中的星期數(00-53)星期一為星期的開始 |
%x |
本地相應的日期表示 |
%X |
本地相應的時間表示 |
%Z |
當前時區的名稱 |
%% |
%號本身 |
# 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'))
# 將字符串轉 時間元組
# '%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、單調時鐘
- 單調時鐘是不能向后移動的時鐘
- 常用來計算程序運行處理時長
# coding:utf-8
import time
# 獲取 單調時鐘的值,單調時鐘是不能向后移動的時鐘
# 常用來計算程序運行處理時長
start_time = time.monotonic()
i = 0
print(f"循環開始時鐘值:{start_time}", type(start_time)) # 循環開始時鐘值:6718828000000 <class 'int'>
while i <= 10:
time.sleep(0.1)
i += 1
end_time = time.monotonic()
print(f"循環結束時鐘值:{end_time}")
print(f"循環運行時間為:{end_time - start_time} 秒")
# 獲取單調時鐘的值 以納秒計算
start_time_ns = time.monotonic_ns()
i = 0
print(f"循環開始時鐘值:{start_time_ns}", type(start_time_ns)) # 循環開始時鐘值:6718828000000 <class 'int'>
while i <= 10:
time.sleep(0.1)
i += 1
end_time_ns = time.monotonic_ns()
print(f"循環結束時鐘值:{end_time_ns}")
print(f"循環運行時間為:{end_time_ns - start_time_ns} 納秒")
# 返回以秒為單位的時間浮點值,用法同time.monotonic()
print(time.perf_counter())
print(type(time.perf_counter()))
# 返回以納秒為單位的時間整數值,用法同time.monotonic_ns()
print(time.perf_counter_ns()) # <class 'float'>
print(type(time.perf_counter_ns())) # <class 'int'>
# 返回當前系統時間與CPU時間的浮動值(以秒為單位)
print(time.process_time())
# 返回當前系統時間與CPU時間的浮動值(以納秒為單位)
print(time.process_time_ns())
# 睡眠,參數的單位為秒
time.sleep(1) # 程序等待1秒鐘后再執行
原文鏈接:https://blog.51cto.com/u_12907475/5458655
相關推薦
- 2022-10-03 Objective-C之Category實現分類示例詳解_IOS
- 2022-12-08 oracle自動生成uuid的實現方法_oracle
- 2022-05-25 創建指定大小文件,怎么創建?
- 2022-10-23 React路由中的redux和redux知識點拓展_React
- 2023-06-16 C語言中的結構體內嵌函數用法_C 語言
- 2022-05-24 Golang?錯誤捕獲Panic與Recover的使用_Golang
- 2022-04-25 ASP.NET?Core?MVC中使用Tag?Helper組件_實用技巧
- 2022-03-29 C語言的基本編寫規范你了解嗎_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支