Daily at Noon
0 12 * * * 0 0 12 * * ? 0 12 * * * 0 12 * * ? * 0 0 12 * * * 0 12 * * * Runs once a day at 12:00 (noon). One invocation per day.
Use in your stack
# Daily at noon (server timezone)
0 12 * * * /usr/local/bin/noon-digest.sh
# Pin to Eastern time
CRON_TZ=America/New_York
0 12 * * * /usr/local/bin/noon-digest.sh
{ "cron": "0 0 12 * * ?", "timezone": "UTC" }
apiVersion: batch/v1
kind: CronJob
metadata:
name: noon-digest
spec:
schedule: "0 12 * * *"
timeZone: "America/New_York"
jobTemplate:
spec:
template:
spec:
containers:
- name: digest
image: my-image:latest
restartPolicy: OnFailure
cron(0 12 * * ? *)
@Scheduled(cron = "0 0 12 * * *", zone = "America/New_York")
public void noonJob() { /* ... */ }
on:
schedule:
- cron: '0 12 * * *'
Next runs
Pick a timezone to see when this expression fires next.
Next 10 runs
- 012026-07-04T12:00:00.000Z
- 022026-07-05T12:00:00.000Z
- 032026-07-06T12:00:00.000Z
- 042026-07-07T12:00:00.000Z
- 052026-07-08T12:00:00.000Z
- 062026-07-09T12:00:00.000Z
- 072026-07-10T12:00:00.000Z
- 082026-07-11T12:00:00.000Z
- 092026-07-12T12:00:00.000Z
- 102026-07-13T12:00:00.000Z
Variations
Common use cases
- Sending midday digest emails or chat summaries.
- Half-day operational reports.
- Mid-shift handoff jobs in two-shift operations.
- Periodic cleanup that benefits from running during lower-load midday hours.
Gotchas
- 12:00 UTC is 5 AM Pacific, 8 AM Eastern, 1 PM London, 9 PM Tokyo. "Noon" only means noon in the timezone you intend.
- Pin the timezone explicitly for K8s (`spec.timeZone`), crontab (`CRON_TZ`), or Spring (`zone` parameter). AWS EventBridge and GitHub Actions are UTC-only.
- Don't confuse 12:00 (noon) with 00:00 (midnight). Cron uses 24-hour format — `0 0 * * *` is midnight; `0 12 * * *` is noon.
0 12 * * * is the midday batch — useful for digests that span the morning, status reports landing right before lunch, or jobs that need a daytime sister to a nightly cron. Like all timed daily jobs, the timezone matters more than the hour.
Frequently asked questions
What does `0 12 * * *` mean?
Minute `0` and hour `12` mean "at 12:00" (noon). The three asterisks for day-of-month, month, and day-of-week mean "every day." One invocation per day at noon.
Is `0 12 * * *` noon or midnight?
Noon. Cron uses 24-hour time — hour `12` is 12:00 noon, hour `0` (or hour `24` which isn't allowed; use `0`) is 00:00 midnight. The most common bug here is writing `0 12 * * *` when you meant midnight; for midnight use `0 0 * * *`.
How do I run at noon in my local timezone?
Crontab: add `CRON_TZ=America/Los_Angeles` at the top of the file. Kubernetes CronJob: set `spec.timeZone: "America/Los_Angeles"` (requires K8s 1.27+). Spring: `@Scheduled(cron = "0 0 12 * * *", zone = "America/Los_Angeles")`. AWS EventBridge and GitHub Actions are UTC-only and require manual offset.
Can I use `0 N * * *` for any hour N?
Yes — any value 0–23 in the hour field. `0 8 * * *` is 8 AM, `0 17 * * *` is 5 PM, `0 23 * * *` is 11 PM. Cron rejects values outside 0–23 (no `24`).
Browse all cron patterns
Every schedule Cronuru documents, with its expression and code snippets for six dialects.