Trình mô phỏng lịch Cron

Dịch biểu thức Cron sang ngôn ngữ tự nhiên và tính thời điểm chạy kế tiếp — không nhầm lẫn múi giờ.

Mẫu nhanh

Diễn giải

Vào 22:00, Thứ 2 đến Thứ 6

Các lần chạy tiếp theo

Múi giờ hiển thị
Nhập biểu thức hợp lệ để xem lịch chạy
Hợp lệUTC
FAQ
Nhóm Dữ liệu (Data)•Tài liệu kỹ thuật & Đặc tả RFC

Tài liệu & Hướng dẫn chuyên sâu: Trình mô phỏng lịch Cron (Cron Expression Visualizer)

1. Tổng quan & Nguyên lý hoạt động

Biểu thức Cron (5 trường: phút, giờ, ngày-trong-tháng, tháng, thứ-trong-tuần) là cú pháp lập lịch chuẩn trên mọi hệ thống Unix/Linux, crontab, GitHub Actions hay các job scheduler phổ biến, nhưng lại cực kỳ khó đọc trực quan — `0 22 * * 1-5` không nói lên điều gì nếu không tra cứu. Vấn đề còn nghiêm trọng hơn ở khía cạnh múi giờ: hầu hết server production chạy crontab theo giờ UTC bất kể lập trình viên đang ở múi giờ nào, dẫn đến tình huống kinh điển "tưởng job chạy lúc 10 giờ tối giờ của mình, hoá ra nó chạy lúc 10 giờ tối UTC — tức 5 giờ sáng hôm sau ở Việt Nam". Trình mô phỏng lịch Cron của Verdbench giải quyết cả hai vấn đề cùng lúc: dịch biểu thức sang câu mô tả tự nhiên bằng tiếng Việt, đồng thời tính sẵn các lần chạy kế tiếp (luôn coi biểu thức là lịch UTC — đúng mặc định server thực tế) và cho phép xem cùng những thời điểm đó quy đổi sang giờ thiết bị, hoặc bất kỳ múi giờ server phổ biến nào khác, qua một dropdown.

2. Ưu thế kiến trúc & Tính năng nổi bật

Diễn giải ngôn ngữ tự nhiên song ngữ

Biểu thức Cron được dịch thành câu mô tả đầy đủ bằng tiếng Việt hoặc tiếng Anh (vd. "Vào lúc 22:00, Thứ Hai đến Thứ Sáu"), dựa trên thư viện cronstrue với gói ngôn ngữ tiếng Việt chính thức.

Quy đổi sang bất kỳ múi giờ nào để so sánh

Danh sách lần chạy kế tiếp luôn được TÍNH một lần duy nhất theo giờ UTC (đúng chuẩn server), sau đó dropdown múi giờ (giờ thiết bị, UTC, America/New_York, Europe/London, Asia/Tokyo...) chỉ đổi cách HIỂN THỊ cùng tập thời điểm đó qua Intl.DateTimeFormat — nên bạn luôn thấy đúng một lịch chạy, nhìn dưới nhiều múi giờ khác nhau.

Xác thực cú pháp tức thì

Biểu thức sai cú pháp (sai số trường, giá trị ngoài phạm vi...) được phát hiện ngay bằng cron-parser và hiển thị thông báo lỗi rõ ràng thay vì một kết quả mô tả sai lệch.

3. Ký tự đặc biệt & cấu trúc biểu thức Cron

Mỗi trường trong biểu thức Cron chấp nhận các ký tự đặc biệt sau để biểu diễn tập giá trị — trong đó dấu `/` (bước nhảy) là ký tự lập trình viên hay quên ý nghĩa nhất:

Ký tựÝ nghĩaVí dụGiải thích
*Mọi giá trị (any)* * * * *Khớp với mọi giá trị hợp lệ của trường đó — không ràng buộc gì
,Danh sách (list)1,15,30 * * * *Chạy vào đúng các giá trị được liệt kê: phút thứ 1, 15 và 30
-Khoảng giá trị (range)9-17 * * * *Chạy trong khoảng liên tục từ 9 đến 17 (bao gồm cả hai đầu mút)
/Bước nhảy (step)*/15 * * * *Chạy lặp lại mỗi 15 đơn vị bắt đầu từ giá trị nhỏ nhất của trường (phút 0, 15, 30, 45) — ký tự dễ quên nhất!
?Không xác định0 0 1 * ?Dùng ở trường ngày-trong-tháng hoặc thứ-trong-tuần khi trường còn lại đã được chỉ định cụ thể (phổ biến ở Quartz Scheduler)
Thứ tự 5 trường trong một biểu thức Cron chuẩn
┌───────────── phút (0 - 59)
│ ┌───────────── giờ (0 - 23)
│ │ ┌───────────── ngày trong tháng (1 - 31)
│ │ │ ┌───────────── tháng (1 - 12)
│ │ │ │ ┌───────────── thứ trong tuần (0 - 6, 0 = Chủ Nhật)
│ │ │ │ │
* * * * *

4. Câu hỏi thường gặp (FAQ)

Giải đáp các thắc mắc phổ biến của lập trình viên khi sử dụng tiện ích Trình mô phỏng lịch Cron (Cron Expression Visualizer).

Chỉ đổi CÁCH HIỂN THỊ. Biểu thức Cron luôn được cron-parser tính toán đúng một lần duy nhất với giả định chạy theo giờ UTC (đúng mặc định server thực tế) để ra một tập thời điểm tuyệt đối cố định. Dropdown múi giờ sau đó chỉ quyết định tập thời điểm ấy được Intl.DateTimeFormat hiển thị theo đồng hồ treo tường của múi giờ nào — chọn "Asia/Tokyo" nghĩa là "cùng lịch chạy đó, nhưng cho tôi xem nó sẽ hiện trên đồng hồ ở Tokyo là mấy giờ", không phải "tính lại lịch chạy như thể server đặt ở Tokyo".