石英日历-包括而不是排除日期

本文关键字:排除 日期 日历 -包 石英 | 更新日期: 2023-09-27 17:58:07

在Quartz/Quartz.NET中(使用后者,但我假设答案是一样的)有没有一种方法可以拥有一种类型的HolidayCalendar,其中不必选择要排除的日期,而是必须选择要包含的日期?因此,如果将2012年2月8日添加到日历中,则分配给该日历的任何触发器都将只在这一天执行。

如果它不是一个内置功能,我有什么想法可以实现它吗?

石英日历-包括而不是排除日期

我已经很容易地创建了自己的日历类,该类实现了ICalendar并完全按照我的意愿执行操作-这只是在Quartz 中复制和修改HolidayCalendar类的一个例子

我知道这是一篇老文章,但从这篇文章来看,我不同意颠倒条件是"包含"日历的最佳方式——简单地搜索日期列表中的下一个值比搜索整个列表更有意义,因为这会降低效率。无论如何,这个列表都是按顺序排列的,所以搜索整个集合毫无意义。

另一个问题是,如果您尝试在库外实现自定义日历,因为它在基本Quartz库中看不到某些类,那么最新的Quartz实现(无论如何,对于.Net)会抛出错误,所以除非您在源中添加自定义日历,然后导入,否则您将失败。