Python——必学内置模块 Time

0 阅读1分钟

显示时间

import time

print('The time is:', time.time())
# 输出从纪元到现在经过的秒数

print('now:', time.ctime())
# 输出当前时间

def show_struct(s):
    print('  tm_year :', s.tm_year)
    print('  tm_mon  :', s.tm_mon)
    print('  tm_mday :', s.tm_mday)
    print('  tm_hour :', s.tm_hour)
    print('  tm_min  :', s.tm_min)
    print('  tm_sec  :', s.tm_sec)
    print('  tm_wday :', s.tm_wday)
    # 当周的第几天
    print('  tm_yday :', s.tm_yday)
     # 当年的第几天
    print('  tm_isdst:', s.tm_isdst)
    # 是否处于夏令时,0代表否


print('gmtime:')
show_struct(time.gmtime())
# gmtime指的是UTC时间,也就是原子钟计算的时间,不受时区影响
print('\nlocaltime:')
show_struct(time.localtime())
print('\nmktime:', time.mktime(time.localtime()))
#  以浮点数的形式表示时间

任务计时

start = time.monotonic()
time.sleep(0.1)
end = time.monotonic()
print('start : {:>9.2f}'.format(start))
print('end   : {:>9.2f}'.format(end))
print('span  : {:>9.2f}'.format(end - start))
# 通过monotonic方法来计算运行时间
# montonic和利用ctime或time的最大区别是它是单调递增的值,它不受系统时钟的影响


start_cpu = time.process_time()
# 模拟 CPU 密集型任务
_ = [x * x for x in range(1000000)]
end_cpu = time.process_time()
cpu_time = end_cpu - start_cpu
print(f"CPU 消耗时间: {cpu_time:.4f} 秒")
# process_time()返回当前进程的CPU时间,不受系统时钟影响(相当于只计算程序真正的工作时间,不包含休眠和等待)


def task():
    time.sleep(2.5) # 模拟耗时操作
# 开始计时
start = time.perf_counter()
task()
# 结束计时
end = time.perf_counter()
print(f"任务耗时:{end - start} 秒")
# 用法和montonic差不多,但是perf_counter精度更高,适合测量时间间隔更短的操作