算出cron表达式接下来几次执行时间
1.使用cron库
- 需要使用的go库:【点击跳转】。
- 具体使用方法可以参照例子使用,下面主要实现计算接下来几次cron表达式执行时间。
package main
import (
"flag"
"fmt"
"log"
"time"
"github.com/robfig/cron"
)
func main() {
spec := flag.String("s", "* * * * * *", "cron spec")
next := flag.Uint("i", 5, "cron next times")
flag.Parse()
p, err := cron.Parse(*spec)
if err != nil {
log.Fatal(err)
}
t := time.Now()
for i := int(*next); i > 0; i-- {
t = p.Next(t)
fmt.Println(t.String())
}
}
下面是执行结果:
cron.exe -s "20 10 1 * * *" -i 2
2019-09-11 01:10:20 +0800 CST
2019-09-12 01:10:20 +0800 CST
2.总结
工作中很多时候需要验证自己写的cron表达式是否正确,可以用上面的方法来测试。当然网上有很多在线网站也是可以做到的。