AWS EventBridge cron vs rate expressions: which scheduler syntax to use
Use rate() for simple recurring intervals (every 5 minutes, every hour, every day). Use cron() for wall-clock schedules (midnight, first Monday of the month, 9 AM weekdays). For new work, use EventBridge Scheduler and set ScheduleExpressionTimezone when local clock time matters. Legacy scheduled rules remain UTC-only.
AWS EventBridge (formerly CloudWatch Events) supports two schedule expression types: cron(fields) for precise wall-clock scheduling and rate(value unit) for simple recurring intervals. Despite the name, EventBridge cron expressions use 6 fields (not 5), adding a year field. The extra field catches people migrating from Linux cron.
By TechCompare · Updated
How this is calculated
EventBridge cron: cron(0 0 * * ? *) runs at midnight UTC every day. The 6 fields are minute, hour, day-of-month, month, day-of-week, year. The ? placeholder means 'no specific value' and is required in either the day-of-month or day-of-week field. EventBridge rate: rate(5 minutes) starts from the rule creation time, or from a configured StartDate in EventBridge Scheduler. Rate expressions support minute, hour, and day units. Legacy scheduled rules are UTC-only and don't accept ScheduleExpressionTimezone. EventBridge Scheduler is a separate, recommended service that accepts ScheduleExpressionTimezone on CreateSchedule for cron schedules that need local time and daylight saving adjustments.
Verdict
EventBridge cron syntax uses six fields, with a year slot that catches people migrating from Linux cron, and the ? placeholder is mandatory in either day-of-month or day-of-week. rate() handles fixed intervals like 'every 5 minutes' but tops out at day units, so it won't express 'first Monday' or '9 AM weekdays.' EventBridge Scheduler adds per-schedule time zones through CreateSchedule. Legacy EventBridge scheduled rules don't have that parameter and always evaluate in UTC.
More Cron scenarios
Related guides
Frequently asked questions
What's the difference between EventBridge cron() and rate() expressions?
Why does EventBridge cron have 6 fields instead of 5?
Why did my EventBridge schedule fire at the wrong time?
Related tools
Unix Timestamp
Convert between Unix timestamps and human-readable dates.
Use tool ➜CHMOD Configurator
Calculate Linux file permissions using checkboxes or octal numbers, then view the matching symbolic notation.
Use tool ➜Text Encoding Converter
Convert between Text, Base64, Binary, Hexadecimal, and Decimal formats.
Use tool ➜