程序笔记   发布时间:2022-07-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了python time模块大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

time模块的时间表示方式

1.时间戳

从1970年1月1日00:00:00开始按秒计算的偏移量,float类型比如:

import time
a = time.time()
print(a)

返回值

1640528783.5935705

2.元组(struct_time)

共有9个元素,元素含义如下:

关键字 描述
tm_year
tm_mon 月(1-12)
tm_mday 日(1-31)
tm_hour 时(0-23)
tm_min 分(0-59)
tm_sec 秒(0-61)闰年多2秒
tm_wday 周一到周日(0-6)
tm_yday 一年中的第几天(1-366)
tm_isdst 是否夏令时(1是,0不是,默认-1未知)

生成方式为:

参数为秒,不带表示当前时间

localtime()指本地时间

gmtime() 指格林威治时间

import time
a = localtime()
b = localtime(1234567890)
c = gmtime()
print(a)
print(b)
print(c)

返回结果

time.struct_time(tm_year=2021, tm_mon=12, tm_mday=26, tm_hour=23, tm_min=9, tm_sec=32, tm_wday=6, tm_yday=360, tm_isdst=0)
time.struct_time(tm_year=2009, tm_mon=2, tm_mday=14, tm_hour=7, tm_min=31, tm_sec=30, tm_wday=5, tm_yday=45, tm_isdst=0)
time.struct_time(tm_year=2021, tm_mon=12, tm_mday=26, tm_hour=15, tm_min=5, tm_sec=42, tm_wday=6, tm_yday=360, tm_isdst=0)

3.格式化时间

格式化时间字符含义如下

字符 含义
%a 简化星期名称
%A 完整星期名称
%b 简化月份名称
%B 完整月份名称
%c 相应的日期和时间表示
%d %d  一个月中的第几天(01 – 31)
%H 一天中的第几个小时(24小时制,00 – 23)
%I 第几个小时(12小时制,01 – 12)
%j 一年中的第几天(001 – 366)
%m 月份(01 – 12)
%M 分钟数(00 – 59)
%p 本地am或者pm的相应符
%S 秒(01 – 61)
%U 一年中的星期数。(00 – 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周
%w 一个星期中的第几天(0 – 6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始
%x 相应日期,格式为 2021/12/26
%X 相应时间,格式为 00:00:00
%y 去掉世纪的年份(00 – 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% ‘%’字符

有下面几种方式

ctime(),参数为时间戳,不填表示time.time()

asctime(),参数为元组,不填表示time.localtime()

strftime(),参数为string(format)和元组

import time
time.ctime()
'Sun Dec 26 23:11:52 2021'
time.ctime()
'Sun Dec 26 23:19:55 2021'
time.asctime()
'Sun Dec 26 23:20:04 2021'
time.strftime("%Y-%m-%d %X",time.localtime(1234567890))
'2009-02-14 07:31:30'

time模块的时间转化

1. 转化图

python time模块

2. 转化示例

时间戳转化为元组

>>> time.localtime(1234567890)
time.struct_time(tm_year=2009, tm_mon=2, tm_mday=14, tm_hour=7, tm_min=31, tm_sec=30, tm_wday=5, tm_yday=45, tm_isdst=0)

时间戳转化为格式化时间

>>> time.ctime(1234567890)
'Sat Feb 14 07:31:30 2009'

元组转化为时间戳

>>> time.mktime(time.localtime(1234567890))
1234567890.0

元组转化为格式化时间

>>> time.asctime()
'Sun Dec 26 23:26:10 2021'
>>> time.asctime(time.localtime(1234567890))
'Sat Feb 14 07:31:30 2009'
>>> time.strftime("%Y-%m-%d %X",time.localtime(1234567890))
'2009-02-14 07:31:30'

格式化时间转为元组

>>> time.strptime('2009-02-14 07:31:30','%Y-%m-%d %X')
time.struct_time(tm_year=2009, tm_mon=2, tm_mday=14, tm_hour=7, tm_min=31, tm_sec=30, tm_wday=5, tm_yday=45, tm_isdst=-1)

程序的时间计算

time.sleep()参数为秒,表示程序阻塞时间

time.clock(),3.8.0版本后废弃此方发

time.process_time(),表示程序占用的CPU时长,不包含time.sleep()的时间,不太准确

time.perf_counter(),表示程序运行时长,包含time.sleep()的时间,因此我们的代码或脚本执行时长应该使用这个方发,这个方发需要首尾运行两次计算差值

a = time.process_time()
a1 = time.perf_counter()
#进程执行中断几秒
print("0")
time.sleep(3)
print("4")

sum = 0
for i in range(1,20000000):
    sum += i
print(sum)

b = time.process_time()
b1 = time.perf_counter()

#计算程序运行时间
print("process_time方发计算此脚本运行时长为: %s"% str(b-a))
print("perf_counter方发计算此脚本运行时长为: %s"% str(b1-a1))

返回结果

0
4
199999990000000
process_time方发计算此脚本运行时长为: 2.703125
perf_counter方发计算此脚本运行时长为: 5.7041553

大佬总结

以上是大佬教程为你收集整理的python time模块全部内容,希望文章能够帮你解决python time模块所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: