【问题标题】:CronExpression OR clause in the day of month field?月份字段中的 CronExpression OR 子句?
【发布时间】:2012-01-09 21:47:24
【问题描述】:

你好,我有一个简单的 cron 表达式

 0 00 00 30 * ?

每个月的 30 号都是 30 号。这不会返回二月,所以我想要一个类似 OR 子句的日期字段,但我还不知道该怎么做。准确地说,我想要一个表达式,它会给我每个月的第 30 天或最后一天。

【问题讨论】:

  • 这和 Java 有什么关系?
  • @edalorzo 这是一个 Quartz 表达式,它有 6 个字段,因为 Quartz 可以指定秒数(经典 cron 不能)

标签: java quartz-scheduler cronexpression


【解决方案1】:

The Quartz documentation 给出答案:“日期”字段应为 L,表示“最后一个”。

(不错的补充,我希望 vixie-cron 也有)

【讨论】:

  • 我需要特定日期或最后一天,因此仅使用 L 无法满足我的需要
  • 那恐怕没有办法做你想做的事了。
【解决方案2】:

由于“L”不能满足您的需求,请使用与一项工作相关的多个触发器。

例如“0 0 0 1 月、3 月、4 月、5 月、6 月、7 月、8 月、9 月、10 月、11 月、12 月 30 日?”和“0 0 0 L FEB?”

【讨论】:

    猜你喜欢
    • 2021-08-20
    • 2017-11-09
    • 2015-06-21
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 2012-05-02
    相关资源
    最近更新 更多