Runs locally
DEVDESK / GUIDES

Five-field cron and time zones: why a job runs at the wrong time

The expression looks correct, but a job runs eight hours away from the intended time or on extra dates. Inspect field meaning, time zone and scheduler behavior separately, using the next-run preview to check your interpretation.

Open tool: Cron expression parser

1. Start with weekdays at 09:00

This tool accepts five fields: minute, hour, day of month, month and weekday. Enter the first line and run it with a chosen time zone. The second line explains the fields and is not part of the input.

0 9 * * 1-5
minute hour day-of-month month weekday

2. The time zone determines which instant is 09:00

With Asia/Shanghai, the rule targets weekday 09:00 in Shanghai, or 01:00 UTC. With UTC selected, it targets 09:00 UTC. The expression text is identical, but the instants differ.

Enter 2026-09-09T09:00:00+08:00 in the timestamp tool to verify 01:00 UTC. The cron preview uses localized dates rather than directly convertible ISO text. Confirm the zone supported by the deployment platform.

3. Check combinations of day and weekday carefully

Do not assume 0 9 1 * 1 means “the first day of the month only when it is Monday.” This parser combines these date conditions with OR, so the first of the month or a Monday can match. Inspect consecutive runs to see the difference.

Schedulers can impose different syntax restrictions. Six-field, seven-field, Quartz and platform-specific expressions cannot be interpreted directly as this tool’s five-field input.

4. Distinguish daylight saving and elapsed intervals

Named zones such as New York and London observe daylight saving. “Every day at local 09:00” is not always an interval of exactly 24 hours. Check how the actual scheduler handles missing or repeated local times at clock changes.

This tool previews the parser’s next eight runs. It does not install jobs or prove that a cloud platform uses the same catch-up, skip or retry policy.

5. Complete verification at the scheduler

Save the expression, zone and a set of expected runs, then compare them with actual job logs. Record scheduled and start times in the same zone to distinguish configuration differences from queue delays.

  • Confirm field count and platform syntax.
  • Confirm the zone instead of manually shifting output hours.
  • Handle duplicate triggers, retries and missed runs according to the job’s requirements.

Try it with these tools