Python中的time模块是一个非常实用的模块,它提供了用于获取当前时间、时间格式转换、计时等功能。time模块的使用涵盖了很多领域,包括系统与程序的时间操作、计时、调度等。
一、time模块的基础介绍
time模块是Python中一个处理时间相关的模块,它提供了一些常用的时间处理函数,例如获取当前时间、等待一段时间、计时器等。可以通过time模块来获取当前时间,或者将现有时间转化为指定格式的字符串。
import time
# 获取当前时间戳
timestamp = time.time()
print("当前时间戳为:", timestamp)
# 获取当前时间
local_time = time.localtime(timestamp)
print("当前时间为:", local_time)
# 将当前时间格式化为字符串
format_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print("当前格式化时间:", format_time)
在这个示例中,我们使用了time模块的三个函数。其中time.time()用于获取当前时间戳,time.localtime()则是将时间戳转换为本地时间,而time.strftime()则是将时间转换为字符串格式。在调用time.strftime()的时候,我们传入了第二个参数local_time,就可以获得包含年月日、时分秒的时间格式。
二、计时功能的实现
在程序中对计时功能的需要十分常见,特别是在性能优化和性能测试时,能够很好的掌握程序执行情况。time模块中再次提供了timer()函数,以提供计时的功能。timer()在经过一定的时间后,会返回当前的时间戳差值。
import time
start_time = time.timer()
# 这里是需要进行计算的程序
end_time = time.timer()
print("程序运行时间为:", end_time - start_time)
在这里,我们可以通过拿到start_time,和end_time的时间差,从而计算出程序所运行的时间。通过这个方式,我们可以很好的控制程序的速度和执行情况。
三、time模块使用小技巧
除了time模块提供的基础功能以外,还有很多小技巧可以帮助我们更方便地使用time模块实现各种实用的功能。
比如,我们可以使用time模块中的sleep()函数来休眠程序一段时间:
import time
print("程序正在运行...")
time.sleep(5)
print("被休眠5秒")
上述代码会让这个程序休眠5秒,使得程序暂停5秒后才会继续执行,并打印出“被休眠5秒”的提示。
我们也可以使用monotonic()函数来获取计时器的精准时间,这个函数可用于计算程序执行时间,不受系统时间调整的影响:
import time
start_time = time.monotonic()
# 这里是需要进行计算的程序
end_time = time.monotonic()
print("程序运行时间为:", end_time - start_time)
与time()函数相比,monotonic()函数能够更加精确地计算程序运行时间。
除此之外,我们还可以使用time模块中的strptime()函数来将字符串格式时间转为时间格式:
import time
str_time = "2018-08-28 21:06:00"
format_time = time.strptime(str_time, "%Y-%m-%d %H:%M:%S")
print(format_time)
上面代码将字符串格式时间转为了时间格式,并打印出来。
四、时间计算的实现
在一些需要对时间进行计算的场景下,time模块提供了一些常用的函数来完成时间计算任务。常用的计算时间的方法包括:
- 将时间戳转换为本地时间
- 将本地时间转换为时间戳
- 获取时间差
- 在时间上加减指定时间长度
下面我们将通过代码演示来吧这些方法运用起来。
import time
# 将时间戳转化为本地时间格式
timestamp = time.time()
local_time = time.localtime(timestamp)
print("时间戳:", timestamp)
print("本地时间:", local_time)
# 时间格式转时间戳
str_time = "2021-06-11 16:43:49"
timestamp = time.mktime(time.strptime(str_time, "%Y-%m-%d %H:%M:%S"))
print("时间格式:", str_time)
print("时间戳:", timestamp)
# 获取时间差
time_1 = "2021-06-10 16:59:49"
time_2 = "2021-06-11 16:59:49"
diff = (time.mktime(time.strptime(time_2, "%Y-%m-%d %H:%M:%S")) -
time.mktime(time.strptime(time_1, "%Y-%m-%d %H:%M:%S")))
print("时间差为:", diff)
# 在时间上增加一定的时间长度
time_1 = "2021-06-10 16:59:49"
minutes = 30
timestamp = time.mktime(time.strptime(time_1, "%Y-%m-%d %H:%M:%S"))
new_timestamp = timestamp + minutes * 60
result_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(new_timestamp))
print("{}分钟后的时间为:{}".format(minutes, result_time))
在这个例子中,我们涉及到的方法有:time.time()、time.localtime()、time.mktime()、time.strptime()、time.strftime(),它们分别的作用如上文所述。
五、总结
通过上述的讲解,我们可以看到time模块在Python的历史中一直扮演着重要的角色。它不仅可以方便地操作时间,还能够实现更加精准的时间计算。当我们需要进行计时、等待或时间计算时,可以考虑使用time模块中的函数来实现这些操作。
在实际的工作代码开发中,我们也可以根据需要结合其他模块来使用。例如结合logging模块来记录系统的运行日志等。
最后,希望本篇文章能够对您在使用time模块中有所帮助。