Знаете ли вы, что триггеры Quartz имеют свойства времени начала и окончания? Вы можете установить startTime = 1 апреля 2018 года и endTime = 28 февраля 2019 года, а затем вы можете использовать простое выражение cron '0 0 0 1 1/1? * ', чтобы получить желаемое расписание. Вы можете увидеть пример такого триггера на скриншоте ниже.

Если вы не настаиваете на использовании CronTrigger (что интуитивно склонно использовать большинство людей), я рекомендую вам проверить CalendarIntervalTrigger, который несколько больше подходит для этих типов расписаний. Смотрите пример такого триггера на скриншоте ниже.
