算出cron表达式接下来几次执行时间

1.使用cron库

  1. 需要使用的go库:【点击跳转】。
  2. 具体使用方法可以参照例子使用,下面主要实现计算接下来几次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表达式是否正确,可以用上面的方法来测试。当然网上有很多在线网站也是可以做到的。

原文地址:https://www.cnblogs.com/janbar/p/13698920.html