package utils import ( "time" "github.com/robfig/cron/v3" ) // GetNextCronTime 根据传入的 Cron 表达式计算下一次执行的时间。 // 它使用兼容大多数 Cron 实现的标准解析器。 // 如果 Cron 表达式无效,它将返回一个错误。 func GetNextCronTime(cronExpression string) (time.Time, error) { // cron.ParseStandard() 返回一个支持标准5位或6位(带秒)格式的解析器。 schedule, err := cron.ParseStandard(cronExpression) if err != nil { return time.Time{}, err // 返回零值时间和错误 } // 从当前时间计算下一次执行时间 nextTime := schedule.Next(time.Now()) return nextTime, nil }