Python模块(Module)中的时间处理和定时任务
发布时间:2023-12-23 10:07:02
在Python中,有一些常用的模块可以用来处理时间和定时任务。其中,主要的模块有time、datetime和schedule。
1. 时间处理模块time:
time模块提供了一些函数来处理时间,比如获取当前时间、睡眠一段时间等。
示例代码:
import time
# 获取当前时间的时间戳
timestamp = time.time()
print("当前时间戳:", timestamp)
# 将时间戳格式化为字符串
localtime = time.localtime(timestamp)
str_time = time.strftime("%Y-%m-%d %H:%M:%S", localtime)
print("当前时间:", str_time)
# 睡眠一段时间
time.sleep(1) # 睡眠1秒
print("睡眠结束")
输出结果:
当前时间戳: 1631889834.1625912 当前时间: 2021-09-17 22:43:54 睡眠结束
2. 时间处理模块datetime:
datetime模块也提供了一些函数来处理时间,不过相对于time模块,datetime模块提供了更方便的时间处理方法,可以进行时间的加减运算等操作。
示例代码:
from datetime import datetime, timedelta
# 获取当前时间
now = datetime.now()
print("当前时间:", now)
# 时间的加减运算
one_hour_later = now + timedelta(hours=1)
print("一小时后的时间:", one_hour_later)
# 格式化时间
str_time = now.strftime("%Y-%m-%d %H:%M:%S")
print("当前时间:", str_time)
输出结果:
当前时间: 2021-09-17 22:43:54.290783 一小时后的时间: 2021-09-17 23:43:54.290783 当前时间: 2021-09-17 22:43:54
3. 定时任务模块schedule:
schedule模块可以用来执行定时任务,比如在指定的时间执行某个函数或者任务。
示例代码:
import time
import schedule
def job():
print("定时任务执行")
# 每隔1秒执行一次定时任务
schedule.every(1).seconds.do(job)
# 每分钟的第10秒执行一次定时任务
schedule.every().minute.at(":10").do(job)
# 每小时的第30分钟执行一次定时任务
schedule.every().hour.at(":30").do(job)
while True:
schedule.run_pending()
time.sleep(1)
输出结果:
定时任务执行 定时任务执行 ...
以上示例中,使用了schedule模块创建了三个定时任务,分别是每隔1秒执行一次、每分钟的第10秒执行一次、每小时的第30分钟执行一次。通过schedule.run_pending()方法来运行定时任务,time.sleep(1)用于控制任务的执行间隔。
总结:以上就是Python模块中处理时间和定时任务的一些常用方法和示例。通过对时间的获取、格式化和加减运算,我们可以更方便地处理时间。而使用schedule模块可以方便地设置和执行定时任务,让程序能够在指定的时间点自动执行某些任务。
