cronuru
Pattern

Weekdays at 5 PM

0 17 * * 1-5
0 0 17 ? * MON-FRI
0 17 * * 1-5
0 17 ? * MON-FRI *
0 0 17 * * MON-FRI
0 17 * * 1-5

Runs at 17:00 (5 PM) Monday through Friday — 5 invocations per week, skipping weekends.

Use in your stack

# Weekdays at 5 PM, server timezone
0 17 * * 1-5 /usr/local/bin/end-of-day.sh

# Pin to US Eastern time
CRON_TZ=America/New_York
0 17 * * MON-FRI /usr/local/bin/end-of-day.sh
{ "cron": "0 0 17 ? * MON-FRI", "timezone": "America/New_York" }
apiVersion: batch/v1
kind: CronJob
metadata:
  name: end-of-day
spec:
  schedule: "0 17 * * 1-5"
  timeZone: "America/New_York"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: eod
            image: my-image:latest
          restartPolicy: OnFailure
cron(0 17 ? * MON-FRI *)
@Scheduled(cron = "0 0 17 * * MON-FRI", zone = "America/New_York")
public void weekdayEvening() { /* ... */ }
on:
  schedule:
    - cron: '0 17 * * 1-5'   # 17:00 UTC, Mon-Fri

Next runs

Pick a timezone to see when this expression fires next.

Next 10 runs
  1. 012026-07-03T17:00:00.000Z
  2. 022026-07-06T17:00:00.000Z
  3. 032026-07-07T17:00:00.000Z
  4. 042026-07-08T17:00:00.000Z
  5. 052026-07-09T17:00:00.000Z
  6. 062026-07-10T17:00:00.000Z
  7. 072026-07-13T17:00:00.000Z
  8. 082026-07-14T17:00:00.000Z
  9. 092026-07-15T17:00:00.000Z
  10. 102026-07-16T17:00:00.000Z

Variations

0 9 * * 1-5

Weekdays at 9 AM

0 9-17 * * 1-5

Hourly during business hours

0 17 * * 5

Fridays at 5 PM

0 0 * * 6,0

Weekends at midnight

Common use cases

  • End-of-day summary reports or digests.
  • Close-of-business data syncs or exports.
  • Daily wrap-up notifications to teams.
  • Triggering overnight batch prep at end of workday.

Gotchas

  • 5 PM is hour `17` in 24-hour cron time — there's no AM/PM, so `0 5 * * 1-5` would be 5 AM.
  • Day-of-week numbering: Unix uses `1-5` (Mon-Fri). Quartz uses `MON-FRI` or `2-6`. Use name form to avoid the off-by-one.
  • Timezone matters — pin it so "5 PM" fires at end-of-day local time.
  • AWS EventBridge: `0 17 ? * MON-FRI *`.

0 17 * * 1-5 is the end-of-workday schedule — the 5 PM bookend to the 9 AM weekdays-at-9am kickoff. Remember the 24-hour clock (17, not 5) and pin the timezone so it fires at close of business where your users are.

Frequently asked questions

What does `0 17 * * 1-5` mean?
Minute `0`, hour `17` (5 PM in 24-hour time), day-of-month `*` (any), month `*` (any), day-of-week `1-5` (Monday through Friday). So the job fires at 5:00 PM on every weekday.
Why is 5 PM written as `17`?
Cron uses 24-hour time with no AM/PM. 5 PM is 17:00, so the hour field is `17`. Writing `5` would schedule 5:00 AM instead. Common conversions: 1 PM = 13, 3 PM = 15, 6 PM = 18, 11 PM = 23.
How do I make it fire at 5 PM local time instead of UTC?
Linux crontab: add `CRON_TZ=America/New_York`. Kubernetes: `spec.timeZone: "America/New_York"` (K8s 1.27+). Spring: the `zone` parameter. AWS EventBridge and GitHub Actions are UTC-only — offset the hour manually (e.g., 22:00 UTC for 5 PM US Eastern in winter).
Will this skip holidays?
No. Standard cron only knows weekdays vs weekends via day-of-week — it has no holiday calendar. Gate inside your script with a holiday check, or use a holiday-aware scheduler like Apache Airflow if that matters.

Browse all cron patterns

Every schedule Cronuru documents, with its expression and code snippets for six dialects.