Календарь как библиотека планирования java - PullRequest
1 голос
/ 28 апреля 2020

Я работаю над проектированием планировщика, точно подобного календарю (внешний вид). Ниже приведены основные требования

Пользователь должен иметь возможность составить график для нижеуказанного ios

  • Ежедневно

  • Еженедельно ( должен быть в состоянии выбрать дни недели / будние дни / выходные)

  • Ежемесячно (Должен быть в состоянии выбрать любой день / дни месяца / например, 3-й понедельник месяца)

  • Годовой должен иметь возможность выбрать месяц и день

Аналогично изображению ниже

enter image description here

Я искал конструкцию DB, которая очень близка к моему требованию

https://docs.microsoft.com/en-us/sql/relational-databases/system-tables/dbo-sysschedules-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15

Кроме того, исследовал кварц. Но с кварцем у меня нет возможности выбрать относительные дни, например, 3-ий выходные месяца.

Есть ли какая-либо библиотека java, которая может предоставить следующую дату расписания на основе конфигураций?

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

Можно создать выражение cron для 3-й субботы / воскресенья месяца, поэтому кварц можно запланировать таким образом.

Вот выражение для 3-й субботы:

0 0 0 ? * 7#3 *

Вот конвертер cron, который вы можете изучить: https://www.freeformatter.com/cron-expression-generator-quartz.html

0 голосов
/ 28 апреля 2020

Вы должны быть в состоянии сделать это с классом Spring CronTrigger , который можно настроить с помощью "linux -подобного" выражения cron, которое можно получить, например, здесь cronmaker,

пример использования (каждый месяц в 3-е воскресенье):

CronTrigger cronTrigger = new CronTrigger("0 0 12 ? 1/1 SUN#3 *"); taskScheduler.schedule(new RunnableTask("Cron Trigger"), cronTrigger);

по мотивам этого учебника

...