🔧Toolify

เครื่องทดสอบ Cron Expression (ดูการทำงาน

พิมพ์ cron expression แบบ 5 ฟิลด์ (นาที ชั่วโมง วันที่ เดือน วันในสัปดาห์) และดูเวลาทำงาน 5 ครั้งถัดไป มีพรีเซ็ตทั่วไปรวมอยู่ด้วย

5 ครั้งทำงานถัดไป
  1. 1.วันอังคารที่ 19 พฤษภาคม พ.ศ. 2569 เวลา 09:00
  2. 2.วันพุธที่ 20 พฤษภาคม พ.ศ. 2569 เวลา 09:00
  3. 3.วันพฤหัสบดีที่ 21 พฤษภาคม พ.ศ. 2569 เวลา 09:00
  4. 4.วันศุกร์ที่ 22 พฤษภาคม พ.ศ. 2569 เวลา 09:00
  5. 5.วันจันทร์ที่ 25 พฤษภาคม พ.ศ. 2569 เวลา 09:00

วิธีการทำงาน

ไวยากรณ์ Cron ในห้าฟิลด์

cron มาตรฐานมี 5 ฟิลด์คั่นด้วยช่องว่าง: นาที (0-59), ชั่วโมง (0-23), วันที่ (1-31), เดือน (1-12), วันในสัปดาห์ (0-6, 0=อาทิตย์) แต่ละฟิลด์รับ: ค่าเดียว (5), range (1-5), list (1,3,5), step (*/15 หมายถึงทุก 15), หรือ wildcard (*) การรวมใช้งานได้: 1-5,10/2 หมายถึง 1-5 แล้วทุก 2 ตั้งแต่ 10

เครื่องทดสอบนี้ใช้ dialect POSIX/Linux crontab ที่เข้มงวด ระบบบางอย่างขยาย cron ด้วยชื่อเดือน (JAN-DEC) หรือวันในสัปดาห์ (SUN-SAT) ไม่รองรับที่นี่ ใช้ค่าตัวเลขเพื่อความเข้ากันได้สูงสุด

รูปแบบทั่วไป

*/5 * * * * — ทุก 5 นาที เหมาะสำหรับการรีเฟรช cache และการ poll ระยะสั้น

0 9 * * 1-5 — 9 โมงเช้าทุกวันทำงาน รายงานเวลาทำการ

0 0 1 * * — เที่ยงคืนวันที่ 1 ของทุกเดือน การเรียกเก็บหรือสรุปสถิติรายเดือน

0 */6 * * * — ทุก 6 ชั่วโมง (00:00, 06:00, 12:00, 18:00) การ poll ระยะยาว

0 0 * * 0 — เที่ยงคืนทุกวันอาทิตย์ รายงานรายสัปดาห์

*/15 9-17 * * 1-5 — ทุก 15 นาทีในเวลาทำการ วันทำงาน การ poll เวลาใช้งานสูง

วันที่ vs วันในสัปดาห์

ทั้งสองฟิลด์รับค่าได้ แต่ระวัง: ใน dialect มาตรฐาน เมื่อทั้งสองฟิลด์ถูกตั้ง (ไม่ใช่ '*') cron จะทำงานเมื่อเงื่อนไขใดเงื่อนไขหนึ่งตรง ไม่ใช่ทั้งสอง ดังนั้น `0 0 1 * MON` (วันที่ 1 ของเดือน หรือวันจันทร์) จะทำงานบ่อยกว่าที่คิด

เพื่อจำกัดให้เป็น 'วันจันทร์แรกของเดือน' cron เพียงอย่างเดียวทำไม่ได้โดยตรง ต้องรันสคริปต์รายวันและตรวจสอบ day-of-month <= 7 ข้างใน หรือใช้ scheduler (Airflow, GitHub Actions schedule + check) ที่รองรับการกำหนดการที่ครอบคลุมมากขึ้น

คำถามที่พบบ่อย

ทำไมถึงเห็น 5 ครั้งในโซนเวลาท้องถิ่น?

Cron อยู่ในโซนเวลาท้องถิ่นของ host เสมอ โซนเวลาของเบราว์เซอร์คือสิ่งที่แสดงที่นี่ Cron daemon จริงใช้ TZ ของเซิร์ฟเวอร์ ตรวจสอบ host ของคุณ

สามารถใช้ชื่อเดือน/วันในสัปดาห์ได้หรือไม่?

ยังไม่ได้ รองรับเฉพาะค่าตัวเลข อาจเพิ่ม alias แบบ JAN/MON ในภายหลัง

ความแตกต่างระหว่าง * และ ? คืออะไร?

ใน cron มาตรฐานเหมือนกัน Quartz dialect บางอย่างใช้ ? เพื่อแยกแยะ 'ไม่ระบุ' สำหรับฟิลด์วันที่ vs วันในสัปดาห์ cron มาตรฐานถือว่าเหมือนกัน

ทำไมวันที่ + วันในสัปดาห์จึงไม่ทำงานตามที่คาดหวัง?

เมื่อทั้งสองฟิลด์ไม่ใช่ '*' cron มาตรฐานใช้ OR (ตรงทั้งสอง) เพื่อรับ AND ('วันจันทร์แรกของเดือน') คุณต้องมี wrapper script หรือ scheduler ที่มีการแสดงออกมากขึ้น

รองรับวินาทีหรือไม่?

cron มาตรฐานมีความแม่นยำระดับนาที ระบบบางอย่างเพิ่มฟิลด์ที่หกสำหรับวินาที เราไม่รองรับ ถ้าต้องการความแม่นยำระดับวินาที ใช้ setInterval หรือ scheduler อื่น

ขีดจำกัดรายละเอียดคืออะไร?

ระดับนาที กำหนดการที่ละเอียดกว่า 1 นาทีไม่สามารถแสดงใน cron

สามารถทดสอบ cron expression สำหรับปีที่ผ่านมาได้หรือไม่?

เราคำนวณไปข้างหน้าจาก 'ตอนนี้' สำหรับการวิเคราะห์ประวัติศาสตร์ ใช้ไลบรารี cron ของภาษาโปรแกรม

ข้อมูลออกไปจากเบราว์เซอร์หรือไม่?

ไม่ การ parse และการคำนวณทั้งหมดเป็นการทำงานในเครื่อง

เครื่องมือที่เกี่ยวข้อง

อัปเดตล่าสุด:

ลองพรอมต์ AI ของเรา →