首页 > 编程语言 >python 模块 - time

python 模块 - time

时间:2022-12-19 16:34:31浏览次数:46  
标签:12 struct python tm 时间 模块 time localtime

1.1 time模块

用于获取,操作日期和时间。

1.2 时间戳

时间戳用于计算机内部时间值,用浮点数表示

import time
ticks = time.time()
print(f"当前时间戳为:{ticks}")

用time()获取时间戳

1.3 struct_time 时间结构体

为了更好地表示时间,time中封装了struct_time类,其成员包括

索引 属性 含义
0 tm_year 正整数
1 tm_mon 1-12
2 tm_mday 1-31
3 tm_hour 0-23
4 tm_min 0-59
5 tm_sec 0-61 秒(有闰秒)
6 tm_wday 0-6 星期,周一为0
7 tm_yday 1-366 一年中的第几天
8 tm_isdst 0,1或-1 是否为DST(夏令时)

1.3.1 将时间戳转换为时间struct_time

函数 说明
time.gmtime(secs) UTC时间
time.localtime(secs) 本地时间

例:

>>> import time
>>> time.gmtime()
time.struct_time(tm_year=2022, tm_mon=12, tm_mday=19, tm_hour=7, tm_min=32, tm_sec=35, tm_wday=0, tm_yday=353, tm_isdst=0)
>>> time.localtime(10)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=10, tm_wday=3, tm_yday=1, tm_isdst=0)
>>>

1.3.2 把struct_time转换为秒

# time.mktime(struct_time)
>>> import time
>>> obj = time.localtime()
>>> time.mktime(obj)
1671435622.0

1.4 时间戳或时间结构体转换为时间字符串

函数 说明
time.ctime(secs) 时间戳转换为UTC时间字符串
time.asctime(struct_time) 将时间结构体转化为本地时间字符串

注意:如果asctime()没有参数,则默认用time.localtime()创建时间结构体作为参数。

例:

>>> time.ctime()
'Mon Dec 19 15:39:00 2022'
>>> time.asctime(time.localtime())
'Mon Dec 19 15:39:09 2022'

1.5 时间格式化

  • time.strftime(format,t) 把struct_time转换为自定义格式的字符串。
  • time.strptime(time_str, format) 把时间字符串,转换为struct_time,是time.strftime的反函数。

可以将struct_time通过匹配符进行格式化输出,其转换格式为

名称 含意 名称 含意
%a 星期的缩写 %A 星期的名称
%b 月份缩写 %B 月份名称
%c 适当的日期和时间表示
%d 月中日,范围[01,31] %j 年中日,范围[001,366]
%H 小时,范围[00,23] %I 小时,范围[01,12]
%M 分钟,范围[00,59] %S 秒,范围[00,61]
%p AM 或 PM
%m 月份,范围[01,12]
%U 年中周数,范围[00,53] 周日作为第一天 %W 同左,周一作为第一天
%w 周中日,范围[0(星期日),6]
%x 适当的日期表示 %X 适当的时间表示
%y 无世纪年份,范围[00,99] %Y 带世纪的年份
%z 时区偏移
%Z 时区名称
%% 字面的 ‘%’ 字符。

如:

>>> t = time.localtime()
>>> time.strftime('%Y-%m-%d %H:%M:%S %A', t)
'2022-12-19 15:48:36 Monday'
>>> time.strftime('%X', t)
'15:48:36'
>>> time.strftime('%x', t)
'12/19/22'

反函数:

>>> cur = time.strftime('%Y-%m-%d %H:%M:%S %A', t)
>>> t = time.strptime(cur,'%Y-%m-%d %H:%M:%S %A')
>>> t
time.struct_time(tm_year=2022, tm_mon=12, tm_mday=19, tm_hour=15, tm_min=48, tm_sec=36, tm_wday=0, tm_yday=353, tm_isdst=-1)

1.6 程序计时

函数 说明
time.perf_counter() 返回CPU级别的时间计数值,单位为秒。
time.sleep(s) 当前线程休眠s秒
import time

# 开始计时
start = time.perf_counter()
sum = 0
for i in range(1,10000000):
    sum += i
# 结束计时
end = time.perf_counter()

# 计算运行了多长时间
print("seconds:{}".format(end - start)) 
# seconds:0.7894374999741558

标签:12,struct,python,tm,时间,模块,time,localtime
From: https://www.cnblogs.com/three-sheep/p/16992467.html

相关文章