Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于定义可重复时间间隔的表达式_Java_Time_Intervals_Cronexpression - Fatal编程技术网

Java 用于定义可重复时间间隔的表达式

Java 用于定义可重复时间间隔的表达式,java,time,intervals,cronexpression,Java,Time,Intervals,Cronexpression,我想知道如何定义可重复时间间隔的表达式。必须有一般的开始和结束日期/时间(但结束可以为空)。它必须有一种重复模式定义 有很多用例,例如: 餐厅在某个时间(周一至周五)提供折扣, 12:15-14:45) 俱乐部每周五21:00-周六23:59需要额外费用 每月付款必须在5天内完成(第1-5天) 等等 一般来说,用户应该能够定义这样的时间间隔,如果传递某个日期,则无论该日期是否属于定义的时间间隔,都应该返回一个布尔值结果。我对CronExpression有一些经验,但它不能描述这样的事情 是否

我想知道如何定义可重复时间间隔的表达式。必须有一般的开始和结束日期/时间(但结束可以为空)。它必须有一种重复模式定义

有很多用例,例如:

  • 餐厅在某个时间(周一至周五)提供折扣, 12:15-14:45)

  • 俱乐部每周五21:00-周六23:59需要额外费用

  • 每月付款必须在5天内完成(第1-5天)

等等

一般来说,用户应该能够定义这样的时间间隔,如果传递某个日期,则无论该日期是否属于定义的时间间隔,都应该返回一个
布尔值
结果。我对
CronExpression
有一些经验,但它不能描述这样的事情

是否有任何替代或CronExpression扩展来解决此问题?

看看Quartz:


这可能是您所需要的。

谢谢,但它是基于教程第06课中描述的CronTrigger,或者您应该自己编写如何找到下一个日期的模式。事实上,它为单个日期(而不是间隔)定义了可重复的模式你给我们的参考资料提供了一些例子。看看这个:我已经试过了。不可能定义间隔{每天10:15-12:45}。所以我应该通过3个日期10:30,11:30,12:30,然后得到你想要安排的“真实”时间:“周一-周五,12:15-14:45”?在这段时间内,你希望触发器触发多少次?如果您想知道当前日期是否在其他两个日期/时间之间,那么您可能应该使用Joda Time: