【问题标题】:How do I check if a cron expression executes daily, weekly or monthly?如何检查 cron 表达式是每天、每周还是每月执行一次?
【发布时间】:2015-10-20 18:19:21
【问题描述】:

除了将 cron 表达式中的字符与所有可能的字符进行比较之外,还有其他简单的方法吗?

【问题讨论】:

  • 也许this answer 会有所帮助(计算接下来的两个日期然后做一个差异)

标签: java cronexpression


【解决方案1】:

在 RC 评论的帮助下。我想出了这个。这将返回天数的差异。

String cron = "0 0 12 * * ? *";
CronExpression cronExpression = new CronExpression(cron);
Date date1 = cronExpression.getNextValidTimeAfter(new Date());
Date date2 = cronExpression.getNextValidTimeAfter(date1);
long diff = date2.getTime() - date1.getTime();
long days = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);

【讨论】:

    【解决方案2】:
    1. 检查 cron 日志文件

      cat /var/log/sysog | grep CRON

    2. 创建一个将当前时间写入文件的 cron 作业,然后评估

      */1 * * * * echo $(date) >> cron.log

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-26
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 2013-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多