一、获取当前时间戳
time.time()函数可以获取当前的时间戳,以浮点数的形式返回。时间戳是自1970年1月1日以来的秒数,也称为Unix时间戳。
import time now = time.time() print("当前时间戳为:", now)
输出结果:当前时间戳为:1605661038.9961302
时间戳的作用有很多,比如在程序调试时可以用来记录程序运行时间,或者计算程序运行的时间差。
二、计时器的实现
time模块中提供了计时器的功能,可以用来测量程序和代码块的执行时间。
import time start_time = time.time() # 模拟程序执行时间 time.sleep(2) end_time = time.time() print("程序执行时间为:", end_time - start_time, "秒")
输出结果:程序执行时间为: 2.0001180171966553 秒
利用计时器,我们可以评估和优化程序的性能,例如通过改变某些函数或算法来缩短程序的执行时间。
三、时间格式的转换
time.time()函数返回的是Unix时间戳,如果需要将其转换为人类可读的时间格式,可以使用time.localtime()函数和time.strftime()函数。
import time # 获取当前时间戳 timestamp = time.time() # 将时间戳转换为本地时间 local_time = time.localtime(timestamp) # 将本地时间格式化为ISO格式(年-月-日 时:分:秒) iso_time = time.strftime('%Y-%m-%d %H:%M:%S', local_time) print("当前时间为:", iso_time)
输出结果:当前时间为:2020-11-18 16:10:38
在实际开发中,我们会经常需要将时间格式转换为人类可读的形式,这种情况下,time函数库中的函数就能派上用场了。
四、时间日期的加减计算
在实际开发中,我们经常需要对日期、时间进行加减计算,例如计算一个事件发生多久以前,或者计算某个时间点之后的一段时间。
import time # 获取当前时间戳 now = time.time() # 计算5天前的时间 five_days_ago = now - 5*24*60*60 # 将时间戳转换为本地时间 local_time = time.localtime(five_days_ago) # 将本地时间格式化为ISO格式(年-月-日 时:分:秒) iso_time = time.strftime('%Y-%m-%d %H:%M:%S', local_time) print("5天前的时间为:", iso_time)
输出结果:5天前的时间为:2020-11-13 16:10:38
通过time.time()函数获取当前时间戳后,我们可以进行简单的加减计算,计算出需要的时间点。
五、多线程同步
在多线程应用中,有时需要对不同线程的执行时间进行同步控制,使线程间的执行时间保持同步状态。
import time import threading def worker(): print(threading.current_thread().getName(), '开始执行') time.sleep(2) print(threading.current_thread().getName(), '执行完毕') start_time = time.time() threads = [] # 创建5个线程 for i in range(5): t = threading.Thread(target=worker) threads.append(t) # 启动线程 for t in threads: t.start() # 等待线程执行完成 for t in threads: t.join() end_time = time.time() print('程序执行时间为:', end_time - start_time, '秒')
输出结果:
Thread-1 开始执行
Thread-2 开始执行
Thread-3 开始执行
Thread-4 开始执行
Thread-5 开始执行
Thread-4 执行完毕
Thread-3 执行完毕
Thread-5 执行完毕
Thread-2 执行完毕
Thread-1 执行完毕
程序执行时间为: 2.003438949584961 秒
通过使用time.time()函数记录程序执行的开始和结束时间,可以计算出程序执行的时间长度,从而进行多线程同步控制。
原创文章,作者:VLHFE,如若转载,请注明出处:https://www.506064.com/n/332149.html