cron0 0,12 * * *

Twice Daily (Midnight and Noon)

At 0 and 12:00

Runs twice per day — at midnight (00:00) and noon (12:00) UTC.

Special Patterns2 runs/day

Want to customize this schedule or validate your own cron expression?

Try it live →

Field Breakdown

FieldValueMeaning
minute00
hour0,120 and 12
day*every day of month
month*every month
weekday*every day of week
0
minute
0,12
hour
*
day
*
month
*
weekday

Common Use Cases

  • Twice-daily backups
  • Morning and evening reports
  • Bi-daily sync

Code Examples

Bash / crontab
# Run your script on schedule: 0 0,12 * * *
0 0,12 * * * /path/to/your/script.sh
Node.js (node-cron)
import cron from 'node-cron';

cron.schedule('0 0,12 * * *', () => {
  console.log('Running scheduled task');
});
Python (APScheduler)
from apscheduler.schedulers.blocking import BlockingScheduler

scheduler = BlockingScheduler()

@scheduler.scheduled_job('cron', minute='0', hour='0,12')
def my_job():
    print('Running scheduled task')

scheduler.start()

GitHub Actions Workflow

Generate a ready-to-use .github/workflows/schedule.yml file. Customize the name and download directly.

GitHub Actions
# .github/workflows/schedule.yml
name: Twice Daily (Midnight and Noon)

on:
  schedule:
    - cron: '0 0,12 * * *'
  workflow_dispatch: # allow manual trigger

jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Run scheduled task
        run: |
          echo "Running on schedule: 0 0,12 * * *"
          # Add your commands here

Save as .github/workflows/schedule.yml in your repository root

Cron Syntax Quick Reference

FieldAllowed ValuesSpecial Chars
minute0–59* , - /
hour0–23* , - /
day of month1–31* , - /
month1–12 or JAN–DEC* , - /
day of week0–7 or SUN–SAT* , - /

Special characters: *= any value  ,= list  -= range  / = step

Related Patterns — Special Patterns

Need to build your own cron expression from scratch?

Open the Cron Expression Builder →