Python3的time模块的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。不准各种形式的复制及盗图 https://blog.csdn.net/qq_26816591/article/details/88579615
import time

# 1.time()
print(' python诞生总时间(1970):', time.time())

# 2.asctime()
print('当前时间:', time.asctime())  # 当前时间

# 3.ctime()
print('当前时间:', time.ctime())

# 4.gmtime()
print('接收时间戳(格林威治天文台):', time.gmtime())
# time.struct_time(tm_year=2019, tm_mon=3, tm_mday=9, tm_hour=13, tm_min=36, tm_sec=8, tm_wday=5, tm_yday=68, tm_isdst=0)

# 5.clock()
print('CPU 工作时间:', time.clock())  # CPU 工作时间

# 6.localtime()
print('接收时间戳(当地时间)', time.localtime())

# 7.strftime()
# strftime(fmt,time.localtime())  fmt输出格式
print('格式化输出时间:', time.strftime('%Y,%m,%d %X'))

# 8.altzone()
print('夏令时偏移秒数 %d' % time.altzone)

# 9.mktime()
print('接收时间元组输出时间戳:', time.mktime(time.localtime()))

# 10.sleep(secs)
print('推迟调用线程的运行10(秒)')
# time.sleep(10)
print('10秒推迟完成')

# 11.strptime(str,fmt)
print('把时间字符串解析为时间元组,以给定格式', time.strptime("30 Nov 00", "%d %b %y"))

# 12.tzset()
print('根据环境变量重新初始化时间')
# time.tzset() 貌似被废除了

# 13.perf_counter()
print(time.perf_counter())  # 第一次选择一个时间点
time.sleep(2)
print(time.perf_counter())  # 第二次选择一个时间点

# 14.process.time()
print('当前进程执行CPU时间总和', time.process_time())

import datetime

print(datetime.datetime.now())

要点:

  •  time() 打印python诞生总时间(秒)
  • asctime() 当前时间
  • ctime() 当前时间
  • gmtime() 时间戳(格林威治天文台)
  • clock() CPU工作时间
  • localtime() 时间戳(当地时间)
  • strftime(fmt,time.localtime()) fmt为输出格式
  • zltzone() 夏令时偏移秒数
  • mktime() 接收时间元组输出时间戳
  • sleep(secs) 推迟调用线程运行(秒)
  • strptime(str,fmt) 把时间字符串解析为时间元组,给定格式输出 
  • tzset() 根据环境变量重新初始化时间(貌似被废除)
  • perf_counter() 类似计时器(选取一个时间点)
  • process_time() 当前进程执行CPU时间总和

# 菜鸟进度条例子
scale = 50

print("执行开始".center(scale // 2, "-"))  # .center() 控制输出的样式,宽度为 25//2,即 22,汉字居中,两侧填充 -

start = time.perf_counter()  # 调用一次 perf_counter(),从计算机系统里随机选一个时间点A,计算其距离当前时间点B1有多少秒。当第二次调用该函数时,默认从第一次调用的时间点A算起,距离当前时间点B2有多少秒。两个函数取差,即实现从时间点B1到B2的计时功能。
for i in range(scale + 1):
    a = '*' * i  # i 个长度的 * 符号
    b = '.' * (scale - i)  # scale-i) 个长度的 . 符号。符号 * 和 . 总长度为50
    c = (i / scale) * 100  # 显示当前进度,百分之多少
    dur = time.perf_counter() - start  # 计时,计算进度条走到某一百分比的用时
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur),
          end='')  # \r用来在每次输出完成后,将光标移至行首,这样保证进度条始终在同一行输出,即在一行不断刷新的效果;{:^3.0f},输出格式为居中,占3位,小数点后0位,浮点型数,对应输出的数为c;{},对应输出的数为a;{},对应输出的数为b;{:.2f},输出有两位小数的浮点数,对应输出的数为dur;end='',用来保证不换行,不加这句默认换行。
    time.sleep(0.1)  # 在输出下一个百分之几的进度前,停止0.1秒
print("\n" + "执行结果".center(scale // 2, '-'))

菜鸟上的进度条效果:perf_counter() 的使用


 切换到行首,不换行小例子:


for i in range(1000000):
    print('\r{0}'.format(i), end='')

猜你喜欢

转载自blog.csdn.net/qq_26816591/article/details/88579615