Одно выражение cron не облегчает запуск разных расписаний для одного и того же типа периода, независимо от того, какой период имеет значение, отличающееся расписание - период года.
Однако, кроме вашей разницы в годах, все другие периоды имеют тот же график. Итак ... используя эти выражения cron:
cron1 = "0 0 23 5/1 SEP-DEC? 2012"
cron2 = "0 0 23 1/1 ЯНВ-ИЮНЬ? 2013"
Вы можете переключить планировщик с использования cron1 на cron2 где-то после 11: 00.00 31.12.2012, но до 10: 59.99 PM 01.01.2013, хотя я бы не стал сокращать его так близко, как показано здесь. Если ваш планировщик читает свое выражение cron из базы данных или конфигурации где-то, просто читайте его по новому расписанию каждый день в 23:30. Если вы храните свои выражения cron в базе данных, вы можете запланировать, чтобы планировщик заменил выражение cron для вашей конкретной задачи, используя этот chron3 ниже:
cron3 = "0 0 0 1 ЯНВ? 2013"
Глупый я: o) Сегодняшняя дата - 13 марта 2013 г., поэтому я уверен, что этот ответ немного запоздал для вас!