Home › Convert › Apache Airflow to Quartz
Convert Apache Airflow cron to Quartz
Apache Airflow expressions look similar to Quartz, but the differences matter. Paste yours below; the result is checked against the original run times.
What changes from Apache Airflow to Quartz
- Quartz has a leading seconds field. The converter adds
0in front so the job fires at the start of the minute. - Apache Airflow numbers Sunday as 0, but Quartz uses 1-7 starting on Sunday. Every weekday number is increased by one (Monday-Friday becomes 2-6).
- Quartz requires a
?in exactly one of the two day fields. The converter puts it in the day field you did not use. - Quartz has a year field. The converter appends
*so the schedule repeats every year. - Apache Airflow runs when day-of-month or day-of-week matches, but Quartz requires both. If you set both fields, the converter warns you.
Worked examples
| Schedule | Apache Airflow | Quartz |
|---|---|---|
| every minute | * * * * * | 0 * * * * ? |
| every 5 minutes | */5 * * * * | 0 */5 * * * ? |
| every 10 minutes | */10 * * * * | 0 */10 * * * ? |
| every 15 minutes | */15 * * * * | 0 */15 * * * ? |
| every 30 minutes | */30 * * * * | 0 */30 * * * ? |
| every hour | 0 * * * * | 0 0 * * * ? |
| every 2 hours | 0 */2 * * * | 0 0 */2 * * ? |
| every 3 hours | 0 */3 * * * | 0 0 */3 * * ? |
Field layout and time zones
minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (0-7, 0 and 7 = Sunday).
Airflow defaults to UTC. On a time-zone-aware DAG a cron schedule follows wall-clock time, so a daily 00:00 US/Eastern run moves between 04:00 and 05:00 UTC across daylight saving changes.
second (0-59), minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (1-7, 1 = Sunday), year (1970-2199, optional).
Quartz uses the JVM default time zone unless you set one: CronScheduleBuilder.cronSchedule(expr).inTimeZone(TimeZone.getTimeZone("UTC")).
Go the other way
Convert Quartz to Apache Airflow, or open the Apache Airflow builder or the Quartz builder.
Frequently asked questions
How do I convert a Apache Airflow cron expression to Quartz?
Paste it into the converter above with Apache Airflow as the source and Quartz as the target. For example, * * * * * becomes 0 * * * * ?.
Is every Apache Airflow expression convertible to Quartz?
Yes for the common schedules we tested (30 of 30), though unusual expressions with special characters might need manual review.
Does Quartz run in the same time zone as Apache Airflow?
Not necessarily. Conversion changes the syntax, not the time zone. Check where each system evaluates the schedule before you rely on the same clock times.