Для задания моментов срабатывания синхронизированного таймера используется формат CRON (юниксоиды в курсе - это демон регулярно выполняемых заданий). Идея простого способа записи в строковой форме периодических событий любой сложности, привязанных к астрономическому времени, пришлась очень кстати. Здесь используется модифицированный формат CRON (добавлены секунды, расширены правила определения списков).
Строка CRON представляет собой несколько , разделенных пробелом. Каждый список задает перечень моментов времени или даты, в единицах, зависящих от позиции (номера) списка в строке.
Последовательность списков в строке CRON такова: Секунды Минуты Часы Дни Месяцы ДниНедели
Если какая-либо единица времени/даты имеет произвольное значение, то ее просто опускают (если все старшие единицы тоже произвольны) или список ее значений представляют знаком "*" (если соседняя старшая единица задана).
Примеры записи периодических событий в формате CRON (с вариантами):
0,30 0+30 +30 | |
0-59 0-59 0-16+8 * * 0+8 * * +8 | |
0 0 1-11,13-23 | |
0-59+3 * * 1 +3 * * 1 | |
0 30 * * * 0 |