time模块

time模块

time模块:支持三种不同形式的时间,不同形式的时间之间可以转换

import time

一、时间戳模块

时间戳(timestamp):时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。

time_stamp = time.time()
print(time_stamp, type(time_stamp))

1552551519.291029 <class 'float'>

二、格式化时间

格式化的时间字符串(format string):格式化时间表示的是普通的字符串格式的时间。

format_time = time.strftime("%Y-%m-%d %X")
print(format_time, type(format_time))

2019-03-07 16:22:11 <class 'str'>

三、结构化时间

结构化的时间(struct time):struct_time元组共有9个元素共九个元素,分别为(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)

print('本地时区的struct_time:\n{}'.format(time.localtime()))
print('UTC时区的struct_time:\n{}'.format(time.gmtime()))

本地时区的struct_time:

time.struct_time(tm_year=2019, tm_mon=8, tm_mday=16, tm_hour=18, tm_min=49, tm_sec=8, tm_wday=4, tm_yday=228, tm_isdst=0)
UTC时区的struct_time::

time.struct_time(tm_year=2019, tm_mon=8, tm_mday=16, tm_hour=10, tm_min=49, tm_sec=8, tm_wday=4, tm_yday=228, tm_isdst=0)

四、不同格式时间的转换

结构化时间-格式化时间-时间戳

# 结构化时间转格式化时间
print(time.strftime('%Y-%m-%d %X', time.localtime()))

# 格式化时间转时间戳
print(time.mktime(time.localtime()))

# 时间戳转结构化时间
print(time.localtime(time.time()))

2019-08-16 18:53:10
1565952790.0
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=16, tm_hour=18, tm_min=53, tm_sec=10, tm_wday=4, tm_yday=228, tm_isdst=0)

# 把结构化时间表示为这种形式:'Sun Jun 20 23:21:05 1993'。
print(time.asctime())
# Thu Mar  7 16:22:11 2019
# 如果没有参数,将会将time.localtime()作为参数传入。
print(time.asctime(time.localtime()))
# Thu Mar  7 16:22:11 2019
# 把一个时间戳转化为time.asctime()的形式。
print(time.ctime())
# Thu Mar  7 16:22:11 2019
# 如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。
print(time.ctime(time.time()))
# Thu Mar  7 16:22:11 2019

五、休眠

# 推迟指定的时间运行,单位为秒
start = time.time()
time.sleep(3)
end = time.time()

print(end-start)

六、进度条

import time

def bar(n):
    start = time.perf_counter()
    print(start)
    for i in range(n + 1):
        print(f'{(i / n) * 100: ^4.1f}%[{"#" * i: <{n}}]{time.perf_counter() - start: ^.1f}s')
        time.sleep(0.1)


bar(38)

posted @ 2019-08-17 12:07  RandySun  阅读(183)  评论(0编辑  收藏  举报