Значение вопросительного знака в Java cron

Источник Wikipedia:

Значок вопроса (?) используется вместо '*' для того, чтобы оставить пробел дня месяца или дня недели.

Вышеприведенное утверждение не имеет для меня никакого смысла.

Итак, если я пишу какой-то cron как 0 0 0 ? * *, значит, это означает первый из каждого месяца или означает, что он будет выполняться ежедневно?

Это немного запутанно, поскольку Java-клоны начинаются с секунд, пока другие кроны начинаются с минуты.

Ответ 1

Я не эксперт Cron

Но, согласно www.cronmaker.com, он выполняется ежедневно.

Ответ 2

В соответствии с обучающей Кварц CronTrigger (кварцевый используется www.cronmaker.com, ссылка выше), ? подстановочный знак используется только в полях дня месяца и дня недели:

? ("без определенного значения") - полезно, когда вам нужно указать что-то в одном из двух полей, в которых разрешен символ, но не в другом. Например, если я хочу, чтобы мой триггер срабатывал в определенный день месяца (скажем, 10-го числа), но мне все равно, какой это день недели, я бы поставил "10" в день -месячное поле и "?" в поле дня недели.

Я думаю * здесь неуместно, потому что * означает выполнение в каждый день недели, что противоречит правилу, согласно которому он должен выполняться только 10-го числа месяца.

Ответ 3

Я знаю, что это старый вопрос, но для потомков он объясняет здесь: http://www.nncron.ru/help/EN/working/cron-format.htm#STARTTIME

В классическом и расширенном режимах пользователи nnCron могут использовать "нестандартный" характер "? в первых четырех полях формата cron. Это означает время запуска nnCron, т.е. е. когда поле обрабатывается, время запуска будет заменено на вопросительный знак: минуты для Поле минут, час для поля Hour, день месяца для Дня месяца поле и месяц для месяца.

Например, если вы пишете следующее:

Время:?? * * * * задача будет выполнена при запуске nnCron, а затем будет выполняться ежедневно в одно и то же время (если пользователь не выполняет перезапустите nnCron, конечно): вопросительные знаки будут" заменены" на Время запуска nnCron. Например, если nnCron был запущен в 8:25, вопросительные знаки будут заменены следующим образом:

Время: 25 8 * * * *