Cron schedules across time zones

Run a schedule in one zone and read it in others. Validate zone names, and translate local times to UTC-only platforms honestly.

Dialect set manually: Unix.
NATIVE exact Unix
0Minuteat minute 0
9Hourthe 09:xx hour
*Day of monthevery day
*Monthevery month
1-5Day of weekMonday through Friday

At 09:00, on weekdays (Monday–Friday).

  • Times are in Europe/Berlin.

Loading the simulator…

UTC-only platforms need two expressions

GitHub Actions schedules and AWS EventBridge rules run in UTC. A 09:00 Berlin job is 08:00 UTC in winter and 07:00 UTC in summer, so a single UTC cron is right only half the year. The Convert tab shows a UTC translation for each offset the zone uses, labelled with when it applies, rather than pretending one expression covers both. Where a platform supports zones — Kubernetes spec.timeZone, EventBridge Scheduler, Spring zone, Jenkins TZ=, cronie CRON_TZ — prefer that.

Type a zone name and it is checked against your browser’s IANA database. Abbreviations like EST or IST are rejected with suggestions because they are ambiguous and ignore DST; Etc/GMT+5 is flagged because its sign is inverted (it means UTC−5).

Try these

Questions

Does Kubernetes support CRON_TZ in the schedule?

No. Current Kubernetes versions reject TZ= or CRON_TZ= inside spec.schedule. Set spec.timeZone (stable since 1.27) instead.

Where does the time-zone data come from?

From your browser’s built-in IANA database via the Intl API. Results can differ slightly between browsers that ship older tz data, especially for recent rule changes.