Python time模块及其常用函数
perf_counter()
或 process_time()
函数来取得程序执行的时间。time 模块中的常用函数如表 1 所示。
函数 | 说明 |
---|---|
perf_counter()或 process_time() |
较早版本的 time.clock() 函数会以浮点数计算的秒数返回当前的 CPU 时间。 Python 3.3以后不被推荐,建议使用 perf_counter() 或 process_time() 函数代替 |
sleep(n) | 可以让程序停止 n 秒 |
time() | 取得目前的时间数值,Python 的时间是以 tick 为单位的,即百万分之一秒(微秒)。此函数所取得的“时间数值”是从 1970 年 1 月 1 日0 时开始到现在所经历的秒数,精确到小数点后 6 位 |
localtime([时间数值]) | 因为时间数值对用户较无意义,此函数可以取得用户时区的日期及时间信息,并以元组数据类型返回 |
ctime([时间数值]) | 功能和 localtime() 函数类似,但时间以字符串数据类型返回 |
asctime() | 列出目前的系统时间 |
在举例之前,我们先来说明 localtime([时间数值]) 函数的用法。调用这个函数时,它的“时间数值”参数可以省略。
如果没有传入任何参数,表示该函数会返回目前的日期及时间,并以元组数据类型返回。python 代码如下:
import time as t
print(t.localtime())
time.struct_time(tm_year=2021, tm_mon=9, tm_mday=23, tm_hour=16, tm_min=36, tm_sec=25, tm_wday=3, tm_yday=266, tm_isdst=0)
输出元组数据中各名称的含义如下。- tm_year:索引值 0,代表年份。
- tm_mon:索引值 1,代表 1~12 月份。
- tm_mday:索引值 2,代表 1~31 的日数。
- tm_hour:索引值 3,代表 0~23 小时。
- tm_min:索引值 4,代表 0~59 分。
- tm_sec:索引值 5,代表 0~60 的秒数(60 是为调整地球自转变化引起的时间误差而考虑的跳秒情况)。
- tm_wday:索引值 6,代表星期几,数值 0~6。
- tm_yday:索引值 7,代表一年中的第几天,数值为 1~366( 366 是考虑闰年的情况)。
- tm_isdst:索引值 8,代表是否为夏令时,0 表示非夏令时,1 表示夏令时。
我们再来看另一种 asctime() 函数的使用方法,该函数会列出目前的系统时间,python 代码如下:
import time as t
print(t.asctime ())
Thu Sep 23 16:39:35 2021
示例
下列程序示例中除了示范如何使用Python time
模块的常用函数外,也可以清楚地看出“时间数值”参数包含哪些字段及所代表的意义。python代码如下:
import time as t print(t.time()) print(t.localtime()) field=t.localtime(t.time())#以元组类型取得数据 print('tm_year= ',field.tm_year) print('tm_mon= ',field.tm_mon) print('tm_mday= ',field.tm_mday) print('tm_hour= ',field.tm_hour) print('tm_min= ',field.tm_min) print('tm_mec= ',field.tm_sec) print('tm_wday= ',field.tm_wday) print('tm_yday= ',field.tm_yday) print('tm_isdst= ',field.tm_isdst) for j in range(9):#以元组的索引值取得数据内容 print('以元组的索引值取得数据= ',field[j]) print("我有一句话想对你说:") t.sleep(1) #程序停1秒 print("学习Python的过程虽然漫长,但最终的果实是甜美的") print("程序执行到目前的时间是"+str(t.process_time())) t.sleep(2) #程序停2秒 print("程序执行到目前的时间是"+str(t.perf_counter()))输出结果:
1632386531.8154998
time.struct_time(tm_year=2021, tm_mon=9, tm_mday=23, tm_hour=16, tm_min=42, tm_sec=11, tm_wday=3, tm_yday=266, tm_isdst=0)
tm_year= 2021
tm_mon= 9
tm_mday= 23
tm_hour= 16
tm_min= 42
tm_mec= 11
tm_wday= 3
tm_yday= 266
tm_isdst= 0
以元组的索引值取得数据= 2021
以元组的索引值取得数据= 9
以元组的索引值取得数据= 23
以元组的索引值取得数据= 16
以元组的索引值取得数据= 42
以元组的索引值取得数据= 11
以元组的索引值取得数据= 3
以元组的索引值取得数据= 266
以元组的索引值取得数据= 0
我有一句话想对你说:
学习Python的过程虽然漫长,但最终的果实是甜美的
程序执行到目前的时间是0.046875
程序执行到目前的时间是2602284.2166657
- 第 7~15 行:以元组数据的名称去取得数据。
- 第 7~18 行:以元组的索引值取得数据内容。
- 第 21 行:程序停 1 秒。
- 第 23 行:输出目前程序运行时间。
- 第 24 行:程序停 2 秒。
- 第 25 行:输出目前程序运行时间。
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。