Phân tích biểu thức cron API
Kiểm tra biểu thức cron và xem các lần chạy tiếp theo theo múi giờ bất kỳ, kèm mô tả dễ hiểu. Hỗ trợ cú pháp cron 5, 6 và 7 trường.
API Cron kiểm tra tính hợp lệ của biểu thức expression và tính các thời điểm nó sẽ chạy. Bạn nhận tối đa 100 lần chạy sắp tới (count, mặc định 5), mỗi lần gồm mốc thời gian ISO theo UTC và giờ địa phương theo timezone bạn chọn (tên IANA như Asia/Ho_Chi_Minh; mặc định UTC), nên các đợt đổi giờ mùa hè cũng được tính đúng.
API hỗ trợ biểu thức 5 trường chuẩn (phút giờ ngày tháng thứ) cũng như dạng 6 và 7 trường có giây và năm, khoảng giá trị, bước nhảy (*/15), danh sách và tên viết tắt. Với biểu thức 5 trường, phản hồi có thêm mô tả ngắn như "at 09:00, on weekdays". Dùng from (ngày ISO) để tính lịch chạy sau một thời điểm thay vì hiện tại.
Biểu thức sai không gây lỗi HTTP: API trả về valid: false kèm thông báo lỗi của bộ phân tích, rất tiện để kiểm tra dữ liệu người dùng nhập trong form đặt lịch.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
expression | body|query | string | có | Biểu thức cron (5, 6 hoặc 7 trường), tối đa 200 ký tự. | |
timezone | body|query | string | không | UTC | Múi giờ IANA dùng để tính lịch. |
count | body|query | number | không | 5 | Số lần chạy tiếp theo, 1–100. |
from | body|query | string | không | Ngày ISO làm mốc bắt đầu (mặc định: hiện tại). |
Ví dụ
curl "https://apibox.io.vn/v1/cron?expression=0%209%20*%20*%201-5&timezone=Asia/Ho_Chi_Minh&count=3" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/cron?expression=0%209%20*%20*%201-5&timezone=Asia/Ho_Chi_Minh&count=3', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/cron?expression=0%209%20*%20*%201-5&timezone=Asia/Ho_Chi_Minh&count=3",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/cron?expression=0%209%20*%20*%201-5&timezone=Asia/Ho_Chi_Minh&count=3');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"valid": true,
"expression": "0 9 * * 1-5",
"timezone": "Asia/Ho_Chi_Minh",
"next_runs": [
{
"utc": "2026-11-11T02:00:00.000Z",
"local": "2026-11-11, 09:00:00"
},
{
"utc": "2026-11-12T02:00:00.000Z",
"local": "2026-11-12, 09:00:00"
},
{
"utc": "2026-11-13T02:00:00.000Z",
"local": "2026-11-13, 09:00:00"
}
],
"description": "at 09:00, on weekdays"
}
Ứng dụng
- Kiểm tra lịch cron người dùng nhập trong trang quản trị
- Hiển thị thời điểm "chạy tiếp theo" của các job trên dashboard
- Kiểm tra cron trigger cho Cloudflare, GitHub Actions, Kubernetes CronJob
- Đổi lịch chạy sang giờ Việt Nam trước khi thông báo bảo trì
Hỏi đáp
Lịch chạy được tính theo múi giờ nào?
Theo tham số timezone (mặc định UTC). Mỗi lần chạy có cả mốc UTC và giờ địa phương, ví dụ 0 9 * * 1-5 với Asia/Ho_Chi_Minh chạy lúc 02:00 UTC.
Có hỗ trợ trường giây không?
Có. Biểu thức 6 trường bắt đầu bằng trường giây, 7 trường có thêm năm ở cuối. Phần mô tả tiếng Anh chỉ có với biểu thức 5 trường truyền thống.
Biểu thức sai thì API trả về gì?
Vẫn là HTTP 200 với valid: false và thông báo lỗi giải thích nguyên nhân, ví dụ cần đúng năm, sáu hoặc bảy phần cách nhau bởi dấu cách.
API liên quan
Tạo UUID
Sinh tối đa 1.000 UUID v4, UUID v7 theo thời gian, ULID, Nano ID hoặc mã hex ngẫu nhiên mỗi request. Ngẫu nhiên an toàn, hỗ trợ chữ in hoa.
🕒Giờ & múi giờ
Lấy giờ hiện tại ở mọi múi giờ, đổi giữa các múi giờ và Unix timestamp (giây hoặc mili giây), kèm độ lệch UTC và thứ trong tuần cho tối đa 30 múi giờ.
🎨Chuyển đổi màu
Đổi mã màu giữa HEX, RGB, HSL, CMYK, kiểm tra độ tương phản WCAG và lấy màu bổ sung, bộ ba, tương đồng cùng các sắc độ chỉ trong một lần gọi.