⏰ Cron 排程工具

Cron Expression Generator & Explainer

Quartz Scheduler 專用的 Cron 表達式生成器與解析工具

⚙️ Cron 表達式生成器
0 0 12 * * ?
常用預設
可使用 * , - / ? 特殊字符
可使用 * , - / ? 特殊字符
24小時制,可使用 * , - / ? 特殊字符
月份中的日期,與星期互斥使用 ?
可使用數字或英文縮寫
1=週日,2=週一...7=週六,與日期互斥使用 ?
Quartz 專用,可留空
📊 表達式解析與預覽
欄位分解
0
0
12
*
*
?
星期
-
💭 表達式說明
每日中午12點執行
接下來的執行時間
計算中...

📚 Quartz Cron 語法說明

特殊字符 說明 示例
* 匹配任意值 * 表示每分鐘/小時/日等
? 不指定值(僅用於日和星期) 日和星期其中一個必須使用 ?
- 範圍 10-12 表示 10,11,12
, 列舉值 MON,WED,FRI 表示週一、三、五
/ 間隔 */5 表示每5個單位
L 最後(日和星期) L 表示月末,6L 表示最後一個週五
W 工作日(僅日期) 15W 表示離15號最近的工作日
# 第幾個星期(僅星期) 6#3 表示第3個週五

什麼是 Cron 表達式?Quartz Cron 完整說明

Cron 表達式是定義定時任務執行週期的字串格式,廣泛用於伺服器排程與自動化任務。Quartz Cron 使用 7 個欄位,比標準 Linux Cron 多一個「秒」欄位,可精確到秒級觸發。

位置 欄位 允許值 特殊字元
10–59, - * /
20–59, - * /
30–23, - * /
41–31, - * ? / L W
51–12, - * /
61–7 (日=1), - * ? L #
7年(可選)1970–2099, - * /

Cron 排程工具功能特色

⚡ Quartz 7 欄位完整支援

支援秒級觸發與 L、W、# 等進階特殊字元,完整覆蓋 Spring Batch 與 Quartz Scheduler 語法。

🔍 即時運算下次執行時間

產生表達式後即時計算並顯示未來 5 次執行時間,讓你在部署前確認排程邏輯是否正確。

📋 常見排程預設範本

內建每分鐘、每小時、每天、每週、每月等常用範本,一鍵套用,快速開始。

🔤 雙向解析

支援產生 Cron 表達式,也可貼入現有表達式進行解析說明,方便理解不熟悉的 Cron 語法。

如何使用 Cron 排程工具?3 步驟快速上手

步驟 1:選擇排程週期

使用可視化介面選擇觸發頻率(每分鐘、每小時、每天、每週等),或點選右側「預設範本」快速套用常見排程設定。

步驟 2:調整欄位細節

依需求調整秒、分、時、日、月、週各欄位。右側面板會即時更新 Cron 表達式,並顯示下次 5 次執行時間供驗證。

步驟 3:複製並貼入專案

點擊「複製」按鈕,將產生的 Cron 表達式貼入 Spring @Scheduled、Quartz JobDetail 或其他排程設定中。

Cron 排程常見問題(FAQ)

什麼是 Cron 表達式?

Cron 表達式是定義定時任務週期的字串,源自 Unix 系統。Quartz Cron 擴充為 7 個欄位,支援秒級精度,廣泛用於 Java Spring Boot 的 @Scheduled 排程。

Quartz Cron 和 Linux Cron 有何不同?

Linux Cron 有 5 個欄位(分、時、日、月、週),Quartz Cron 有 7 個欄位(秒、分、時、日、月、週、年),且支援 L(最後一天)、W(最近工作日)、#(第幾個週幾)等進階語法。

0 0 2 * * ? 代表什麼?

代表「每天凌晨 02:00:00 執行」。分解:秒=0、分=0、時=2、日=*(每天)、月=*(每月)、週=?(不限)。

如何設定每 5 分鐘執行一次?

使用表達式 0 0/5 * * * ?。其中 0/5 表示從第 0 分開始每 5 分鐘觸發一次。

本工具支援哪些框架的 Cron 語法?

本工具採用 Quartz Scheduler 語法,適用於 Java Spring Boot(@Scheduled)、Spring Batch、Quartz JobDetail 等框架。產生的表達式可直接複製使用,無需修改。