Вы можете сослаться на CronSequenceGenerator от Spring.
Генератор последовательности дат для шаблона Crontab , позволяющий клиентам указывать шаблон, которому соответствует последовательность.
Шаблон представляет собой список из шести отдельных полей, разделенных пробелами : представляет секунду, минуту, час, день, месяц, день недели. Названия месяцев и дней недели можно указывать в качестве первых трех букв английских имен.
Примеры шаблонов:
"0 0 * * * *" = начало каждого часа каждого дня.
"* / 10 * * * * *" = каждые десять секунд.
"0 0 8-10 * * *" = 8, 9 и 10 часов каждого дня.
"0 0 6,19 * * *" = 6:00 AM и 7:00 PM каждый день.
"0 0/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30, 10:00 и 10:30 каждый день.
"0 0 9-17 * * ПН-ПТ" = в рабочие часы с девяти до пяти
"0 0 0 25 12?" = каждый Рождество в полночь