You should just use two crons:
# Every day at 8:00 AM
0 8 * * * command
# Every day at 3:30 PM
30 15 * * * commandStandard cron only allows a list per field, not a list of “hour:minute” pairs. So 0,30 8,15 * * * would run four times a day (8:00, 8:30, 15:00, 15:30) — not the two times you want.
When the two times share a minute (e.g. 08:00 and 15:00), one line is enough: 0 8,15 * * *. When they don't (08:00 and 15:30), use two cron lines as shown above. This is the most common “two times a day at fixed clock points” pattern in production crontabs.
Some schedulers (Quartz, AWS EventBridge) accept richer day-time expressions but never solve the “independent minute per hour” problem in a single line either. If you find yourself stitching together many cron entries to express one logical schedule, the multi-cron visualizer makes it easy to see them on one calendar.
Read the dedicated guide: Cron every day.
Other answers and worked examples for the most confusing cron expressions.
Ready to schedule it?
WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.
Free forever tier ・ No credit card required
Schedule
“every 5 minutes”
Next run
in 23s
Permalink: https://tool.crontap.com/help/cron-job-expression-every-day-at-two-different-times