Developer Tools

Cron: Every Sunday at midnight

The cron expression for "Every Sunday at midnight" is 0 0 * * 0: 52 runs in 2026, shown here field by field and in five schedulers.

Runs in your browser. Your files and text never leave your device - nothing is uploaded.

At 12:00 AM, only on Sunday

Next 8 run times

  • Sun, Oct 18, 2026, 12:00 AM
  • Sun, Oct 25, 2026, 12:00 AM
  • Sun, Nov 1, 2026, 12:00 AM
  • Sun, Nov 8, 2026, 12:00 AM
  • Sun, Nov 15, 2026, 12:00 AM
  • Sun, Nov 22, 2026, 12:00 AM
  • Sun, Nov 29, 2026, 12:00 AM
  • Sun, Dec 6, 2026, 12:00 AM

Standard 5-field cron syntax: minute, hour, day of month, month, day of week. Next run times are computed in your browser's local timezone.

What is the cron expression for every sunday at midnight?

0 0 * * 0 runs a job once a week at 00:00 on Sunday, the moment Saturday night turns into Sunday. The last field is the day of the week, where 0 means Sunday. It fires 52 times in 2026 and matches the @weekly shortcut that Vixie-style crons and Kubernetes accept.

0 0 * * 0 field by field

FieldAllowedValueSelects
Minute0-590minute 0, on the hour
Hour0-230hour 0 only, midnight
Day of month1-31*any date
Month1-12 or JAN-DEC*every month
Day of week0-6 or SUN-SAT (0 = Sunday; many crons also accept 7)0Sunday only

Only the day-of-week field is restricted here, so cron filters on the weekday alone. Restrict the day-of-month field as well and cron would run on a date matching either field, not both.

How often 0 0 * * 0 runs in 2026

  • Runs on each matching day: 1.
  • Matching days in 2026: 52 of 365.
  • Total runs in 2026: 52.
  • First run of the year: Sun, 4 Jan 2026, 00:00 UTC. Last: Sun, 27 Dec 2026, 00:00 UTC.

These counts use UTC, which has no daylight saving. The run list in the generator shows the next runs in your browser's own time zone instead.

The same schedule in other schedulers

SchedulerWrite it asWatch out for
crontab (Linux, macOS)0 0 * * 0 /usr/local/bin/weekly-cleanup.shAdd it with crontab -e. In /etc/crontab a user name goes between the time fields and the command.
Kubernetes CronJobschedule: "0 0 * * 0"Valid; @weekly is equivalent.
GitHub Actions- cron: '0 0 * * 0'Runs at 00:00 UTC on Sunday, which is still Saturday evening across the Americas.
AWS EventBridgecron(0 0 ? * SUN *)In EventBridge Sunday is 1 (or SUN), never 0.
Quartz0 0 0 ? * SUNQuartz rejects 0 as a day of week; SUN or 1 is Sunday.

Time zones and daylight saving

Weekly jobs magnify time zone mistakes. On a UTC scheduler, 00:00 Sunday is 8 p.m. on Saturday in New York during summer time, so a start-of-week report runs a day early by local reckoning. Daylight saving changes in the US (second Sunday of March, first Sunday of November) and the EU (last Sundays of March and October) happen on Sunday mornings, a few hours after this job, so it is neither skipped nor repeated, but anything set for 1-3 a.m. on a Sunday can be.

Common mistakes with 0 0 * * 0

  • Meaning the end of Sunday. 00:00 Sunday is the start of the day; to run after Sunday has finished, use 0 0 * * 1 (Monday 00:00) or 59 23 * * 0.
  • Using 0 for Sunday in Quartz or EventBridge, where Sunday is 1 and 0 is invalid. Write SUN instead.
  • Writing 0 0 1-7 * 0 for "the first Sunday". Two restricted day fields are combined with OR, so that runs on the 1st to the 7th and on every Sunday; use 1#1 in Quartz or EventBridge, or test the weekday inside the script.

Frequently asked questions

Other common schedules

Reviewed by Raja Jahangir · Last reviewed: October 7, 2026