当前位置: 首页 > 面试题库 >

比较Cron Expression和当前时间

丰佐
2023-03-14
问题内容

我正在设计一个调度程序,并使用石英库。我想检查cron表达式时间是否是将来的时间,否则将根本不会执行触发器。有什么方法可以将cron表达式时间与Java中的当前时间进行比较。


问题答案:

需要考虑的是,标准的有效cron表达式将始终引用将来的有效时间。需要说明的是,Quartz
cron表达式可能包含一个可选的Year字段,该字段可以是过去的以及将来的。

要检查表达式的有效性,您可以构建一个CronExpression实例,然后要求其提供下一个有效的将来时间。a
null表示该表达式没有有效的将来时间。这是一个快速的单元测试示例:

@Test
public void expressionTest() {
    Date date;
    CronExpression exp;
    // Run every 10 minutes and 30 seconds in the year 2002
    String a = "30 */10 * * * ? 2002";      
    // Run every 10 minutes and 30 seconds of any year
    String b = "30 */10 * * * ? *"; 
    try {
        exp = new CronExpression(a);
        date = exp.getNextValidTimeAfter(new Date());
        System.out.println(date);       // null
        exp = new CronExpression(b);
        date = exp.getNextValidTimeAfter(new Date());
        System.out.println(date);       // Tue Nov 04 19:20:30 PST 2014
    } catch (ParseException e) {
        e.printStackTrace();
    }
}

这是Quartz API 的链接CronExpression



 类似资料:
  • 问题内容: 我有两个String变量- 和。两者都包含格式为 HH:MM的值 。我该如何检查: 如果当前的时间内 和 会在最近一小时发生吗? 更新。 我实现了以下内容以转换为格式。但是它使用折旧方法: 问题答案: 将两个字符串转换为 对象(也是时间对象)创建一个新对象。 这将包含当前时间。 使用Date.before()和Date.after()方法来确定您是否在时间间隔内。 编辑:您应该能够直接

  • 我在试着比较时间和瞬间。这是我的剧本 这是我的表格 从< code > console . log(today . format(" hh:mm "))我得到这个结果< code>01:44。 在上面的脚本中,我总是转到<code>或<code>,因此有任何方法可以修复它吗? 这是我的小提琴 https://jsfiddle.net/s9wfh9ye/33/ 我的更新问题

  • 问题内容: 同时执行: 我目前正在学习do-while vs while,并且想用while重写上面的java片段(已经声明和初始化)。以下重写的代码是否正确: 而: 干杯 问题答案: 之间的区别和是 当 比较完成。使用,您将在最后进行比较,因此至少要进行一次迭代。 您的示例的等效代码 等效于: 一般理解 甲环是一个 出口控制的循环 ,这意味着它离开末。甲环是一个 条目控制的循环 ,这意味着该条件

  • 我希望我的程序输出这样,每当它从客户端接收文本文件时,它将打印“一个新文件已经收到!”。文本文件将存储在C:/users/%userprofile%/desktop/ad中。 下面的代码是检查目录中是否收到了新的文本文件。 目录中最初=1且最后修改的文件总数的输出 我试过了,但它没有打印“一个新的文件已经收到!”。请帮忙

  • 我有个约会‘2019-05-08t 22:15:00-0400’。我想将这个日期与当前的日期和时间进行比较。如果上述日期和时间小于当前日期和时间,那么我必须做些什么。 我的代码是:- 但它返回 false 。

  • 问题内容: 以我想使其正常工作的方式,这可能是不可能的,但是可以了。 数据库中的条目是: 但是,查询不返回任何结果。当然,如果涉及到日期,这将起作用,但是没有涉及。如果开始= ‘00:00:00’,它也将起作用。 问题答案: 我认为您正在寻找的是: 我不确定您是否需要使用CAST,尽管这也可以工作。