【问题标题】:get time and date using cron expression in golang在golang中使用cron表达式获取时间和日期
【发布时间】:2022-01-02 14:08:42
【问题描述】:

我现在有时正在寻找解决方案, 我有这个 cron 表达式

time := '0 3,10,16,22 * * ?'

我需要将其解析为日期并进行比较以获得结果

我的目标是从时间变量中获取时间数据并进行比较, 如果时间不在 00:00 和 00:06 之间,它将返回 bool false

我理解比较我可以使用 if 子句但是,

尚未找到如何解析此 cron 表达式并将其转换为日期的解决方案。 我有时一直在 godoc 中阅读 cron 包,但没有找到它,也许我错过了什么?

感谢任何类型的解决方案或意见!

【问题讨论】:

    标签: go time cron


    【解决方案1】:

    您可以使用来自aptible/supercronic 的包cronexpr

    import "github.com/aptible/supercronic/cronexpr"
    import "time"
    
    nextTime := cronexpr.MustParse("0 3,10,16,22 * * ?").Next(time.Now())
    

    现在你有下一次,你可以check if it is between 00:00 and 00:06

    【讨论】:

      猜你喜欢
      • 2011-12-14
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      • 2021-11-13
      • 1970-01-01
      • 2019-02-26
      相关资源
      最近更新 更多