python time perf_python之time模块

最后更新:2017-09-12

导入time 模块

import time

Function

疑问:

如何构建一个 struct_time出来

1. asctime()

time.asctime(p_tuple=None)

功能: 将一个时间元组(struct_time)表示为: Tue Sep 12 14:54:06 2017 这种格式

参数: p_tuple,默认为 None,默认取 time.localtime()返回的时间元组

返回值: 返回格式化的字符串

time.asctime() # Tue Sep 12 14:58:21 2017

2. clock()

功能: 这个需要注意,在不同的系统上 "含义不同"。

在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。

在WINDOWS中,

第一次调用,返回的是进程运行的实际时间。

第二次之后的调用是自第一次调用以后到现在的运行时间。

(实际上是以WIN32上QueryPerformanceCounter()为基础,它比毫秒表示更为精确)

参数: 无

返回值: 根据系统不同返回值可能不一样

相关链接:

1. http://jeremybai.github.io/blog/2015/06/10/time_vs_clock

2. http://www.runoob.com/python/att-time-clock.html

# 该测试是在Mac上

t = time.clock()

print(t) # 0.055649

time.sleep(1)

t = time.clock()

print(t) # 0.055912

time.sleep(1.5)

t = time.clock()

print(t) # 0.056037

3. ctime()

time.ctime(seconds=None)

功能: 将时间戳转换为 time.asctime()的 "当前时区" 格式

参数: seconds默认为None, 默认传入 time.time()的值

返回值: 返回格式化的字符串

备注: time.ctime(second) 等价于 time.asctime(localtime(second))

# 北京时区,东八区

time.ctime(0) # Thu Jan 1 08:00:00 1970

time.asctime(time.localtime(0)) # Thu Jan 1 08:00:00 1970

time.ctime() # Tue Sep 12 16:15:59 2017

time.asctime(time.localtime()) # Tue Sep 12 16:15:59 2017

4. get_clock_info()

name可选值

对应的Function读取对应的值

clock

time.clock()

monotonic

time.monotonic()

perf_counter

time.perf_counter()

process_time

time.process_time()

time

time.time()

time.get_clock_info(name)

功能: 返回指定时钟的信息

参数: name: 时钟的名称

返回值: 时钟信息

注意: New in version 3.3.

相关链接: https://docs.python.org/3/library/time.html#time.get_clock_info

time.time() # 1505205386.970501

time.get_clock_info('time') # namespace(adjustable=True,

implementation='gettimeofday()', monotonic=False, resolution=1e-06)

5. gmtime()

time.gmtime(seconds=None)

功能: 将一个时间戳转换为 UTC时区(0时区) 对应的 struct_time

参数: seconds时间戳

返回值: 时间元组(struct_time)

time.gmtime(0) # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

time.localtime() # time.struct_time(tm_year=2017, tm_mon=9, tm_mday=12, tm_hour=16, tm_min=43, tm_sec=39, tm_wday=1, tm_yday=255, tm_isdst=0)

time.gmtime(time.time()) # time.struct_time(tm_year=2017, tm_mon=9, tm_mday=12, tm_hour=8, tm_min=43, tm_sec=39, tm_wday=1, tm_yday=255, tm_isdst=0)

6. localtime()

time.gmtime(seconds=None)

功能: 将一个时间戳转换为当前时区对应的 struct_time

参数: seconds时间戳

返回值: 时间元组(struct_time)

time.localtime(0) # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

time.localtime() # time.struct_time(tm_year=2017, tm_mon=9, tm_mday=12, tm_hour=16, tm_min=46, tm_sec=13, tm_wday=1, tm_yday=255, tm_isdst=0)

7. mktime()

time.mktime(p_tuple)

功能: 将一个时间元组转换为 “当前时区” 对应的时间戳

参数: p_tuple: 时间元组

返回值: 时间元组(struct_time)

注意: 是根据当前时区对应的时间戳

一般而言,时间戳是指从 2017.1.1 00:00:00开始的,那么对于北京东八区来说,时间就为2017.1.1 08:00:00,那么UTC时间戳为0,那么对于东八区来说,就是 - 8 * 60 * 60 = - 28800

time.mktime(time.gmtime(0)) # -28800

time.mktime(time.localtime(0)) # 0

8. monotonic()

time.monotonic()

功能: 单步时钟,只能向前走的,但是起点未知(并不是以1970.1.1 00:00:00 为起点的)

参数: 无

返回值: 针对某个起点而言的时间戳

注意:

1. 取这个值无任何意义,只能去值之间的差值

2. New in version 3.3.

参考官方链接: https://docs.python.org/3/library/time.html#time.monotonic

print(time.time()) # 1505208085.507097

start_time = time.monotonic()

print(start_time) # 134338.997950387

time.sleep(1)

end_time = time.monotonic()

print(end_time) # 134340.001831899

print(end_time - start_time) # 1.0038815119769424

8. perf_counter

9. process_time

10.sleep()

time.sleep(seconds)

功能: 让当前线程休眠 seconds 时长

参数: seconds 休眠时间

start_time = time.time()

time.sleep(2)

end_time = time.time()

print(end_time - start_time) # 2.0050530433654785

11.strftime()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值