一、时间表达式概述
时间表达式是指一种用来描述时间的规则语言。通过时间表达式,我们可以更便捷地表示出定时任务的执行时间、周期、延时等特性。
在实际开发中,时间表达式被广泛应用于定时任务模块。接下来我们将从时间表达式的格式、时间单位、常用表达式等多个方面进行详细阐述。
二、时间表达式格式
时间表达式的格式可以是多样的,但一般都包含以下几个部分:
秒 分 小时 日期 月份 星期 年份
各部分都可以使用数字或通配符(*)来表示,例如:
* * * * * *
这个时间表达式表示每秒都执行一次定时任务。再例如:
0 0 12 * * *
这个时间表达式表示在每天的12点整执行一次定时任务。
三、时间单位
时间单位是指描述时间规则的基本单位。常用的时间单位有:
- 秒(second)
- 分(minute)
- 小时(hour)
- 日期(day)
- 星期(week)
- 月份(month)
- 年份(year)
时间单位在时间表达式中是对应的字符串缩写形式,例如秒为”s”、小时为”h”等。
四、常用表达式
4.1 每天固定时间
表达式格式:秒 分 时 * * *
示例:
0 0 8 * * *
该表达式表示每天8点整执行一次定时任务。
4.2 每周固定时间
表达式格式:秒 分 时 * * 星期
示例:
0 0 8 * * 1
该表达式表示每周一的8点整执行一次定时任务。
4.3 每月固定日期时间
表达式格式:秒 分 时 日 * *
示例:
0 0 8 1 * *
该表达式表示每月1号的8点整执行一次定时任务。
4.4 每小时执行
表达式格式:秒 0 * * * *
示例:
0 0 * * * *
该表达式表示每小时的整点执行一次定时任务。
4.5 每分钟执行
表达式格式:秒 * * * * *
示例:
* * * * * *
该表达式表示每分钟执行一次定时任务。
五、实例代码
下面是基于Python语言的定时任务代码示例:
import time
from apscheduler.schedulers.blocking import BlockingScheduler
def job():
print("执行任务")
# 实例化调度器
sched = BlockingScheduler()
# 每天8点定时执行任务
sched.add_job(job, 'cron', hour=8)
sched.start()