python详解time模块功能asctimelocaltimemktimesleepstrptimestrftimetime等函数以及时间的加减运算
Posted zhaolide
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python详解time模块功能asctimelocaltimemktimesleepstrptimestrftimetime等函数以及时间的加减运算相关的知识,希望对你有一定的参考价值。
在Python中,与时间处理相关的模块有:time、datetime以及calendar。学会计算时间,对程序的调优非常重要,可以在程序中狂打时间戳,来具体判断程序中哪一块耗时最多,从而找到程序调优的重心处。这里先来讲一个time模块。
time模块所包含的函数能够实现以下功能:获取当前的时间、操作时间和日期、从字符串读取时间及格式化时间为字符串。
- timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量;返回时间戳的函数主要有time()、clock()等
- struct_time时间元组,共有九个元素组。gmtime(),localtime(),strptime()
- format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。
不同格式之间的转换如图:
其中format_string
类型的时间和struct_time之间可以转换,timestamp时间戳可以和struct_time之间进行转化,但是时间戳和格式化时间是不能直接转换的。
struct_time元组结构:
format time结构化表示:
1、time.time()当前时间的时间戳,返回float数据,自1970年1月1日开始按照秒计算的偏移量,可以进行差值计算得到秒差
2、time.clock()该函数有两个功能:
- 在第一次调用的时候,返回的是程序运行的实际时间;
- 以第二次之后的调用,返回的是自第一次调用后,到这次调用的时间间隔
- 在win32系统下,这个函数返回的是真实时间(wall time),而在Unix/Linux下返回的是CPU时间。
3、time.gmtime([secs])可以将timestamp时间戳转化为时间元组
4、time.localtime([secs])可以将timestamp时间戳转为时间元组
5、time.mktime(t):将一个struct_time转化为时间戳
time.mktime()
函数执行与gmtime(),
localtime()相反的操作,它接收struct_time对象作为参数,返回用秒数表示时间的浮点数。如果输入的值不是一个合法的时间,将触发
OverflowError 或 ValueError。
- 参数:t – 结构化的时间或者完整的9位元组元素
6、time.sleep(secs):线程推迟指定的时间运行 线程睡眠指定时间,单位为秒。
7、time.asctime([t])*生成固定格式的时间表示格式,把一个表示时间的元组或者struct_time*表示为’Sat Jan 13 21:56:34 2018’这种形式。如果没有给参数,会将time.localtime()作为参数传入。
- 参数:t – 9个元素的元组或者通过函数 gmtime() 或 localtime() 返回的时间值;
8、time.ctime([secs]) 生成固定格式的时间表示格式,把一个时间戳(按秒计算的浮点数)托福口语模板转化为time.asctime()的形式。如果为指定参数,将会默认使用time.time()作为参数。它的作用相当于time.asctime(time.localtime(secs)) 。
- 参数:sec – 要转换为字符串时间的秒数
9、time.strftime( format [, t] )
通过函数将struct_time转成格式字符串,把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串,格式由参数format决定。如果未指定,将传入time.localtime()。如果元组中任何一个元素越界,就会抛出ValueError的异常。雅思报名费函数返回的是一个可读表示的本地时间的字符串。
参数:
- format:格式化字符串
- t :可选的参数是一个struct_time对象
10、time.strptime(string,format) 将格式字符串转化成struct_time。该函数是time.strftime()函数的逆操作。time.strptime() 函数根据指定的格式把一个时间字符串解析为时间元组。所以函数返回的是struct_time对象。
- 参数:string :时间字符串;format:格式化字符串;
11、time加减主要是通过时间戳的方式进行加减
以上是关于python详解time模块功能asctimelocaltimemktimesleepstrptimestrftimetime等函数以及时间的加减运算的主要内容,如果未能解决你的问题,请参考以下文章