日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python標準庫time使用方式詳解_python

作者:匿名V5程序員 ? 更新時間: 2022-09-03 編程語言

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

欄目分類
最近更新