我正在设计一个完全类似于日历(outlook)的日程安排器。以下是主要需求
用户应该能够为以下情况安排时间。
每日
每周(应能选择星期几星期几周末)
每月 (应该可以选择每月的任何一天,例如:每月的第三个星期一)
每年应该可以选择月份和日期。
类似于下面的图片
我找了一个和我的要求非常接近的DB设计。
此外,还探索了石英。但是,在石英中,我没有选择相对日期的功能,例如:每月的第三个周末。
有没有什么java库可以根据配置提供下一个日程安排日期?
可以为每月的第三个周六周日做一个cron表达式,所以Quartz可以这样安排。
这里是第三个星期六的表达式。
0 0 0 ? * 7#3 *
这里是cron转换器,你可以探索。https:/www.freeformatter.comcron-expression-generator-quartz.html
你应该可以用Spring类来完成这个任务。CronTrigger 你可以用 "类似linux "的cron表达式来配置,你可以从这里获得,比如说。定子,
使用实例(每月第3个星期日)。
CronTrigger cronTrigger = new CronTrigger("0 0 12 ? 1/1 SUN#3 *");
taskScheduler.schedule(new RunnableTask("Cron Trigger"), cronTrigger);
受此启发 教程