Cron式パーサー
Cron スケジュールを分かりやすい言葉で説明し、次回実行時刻を表示
ローカル実行
loading…
このツールについて
5 フィールドの cron 式を貼り付けると、平易な言葉での説明、フィールドごとの分解、そして — 実際の間違いを捕まえる部分である — ローカルタイムゾーンで計算された次の 5 回の実際の実行時刻が得られます。「0 3 * * 1」は「03:00、月曜日に」と読み下され、その後に実際に発火する具体的な日付が続きます。
パーサーは標準構文を完全にサポートします。リスト(1,15)、範囲(9-17)、ステップ(*/15)、月と曜日の名前(jan、mon)、日曜日としての 7、そして @daily/@hourly のマクロファミリーです。さらに、誰もが忘れるあのルールも実装しています。日(day-of-month)と曜日(day-of-week)の両方が制限されている場合、ジョブは両方ではなく、どちらかが一致したときに実行されるのです。
6 フィールド(Quartz、秒付き)の式は黙って誤読される代わりに、検出されて明示的に指摘されます — Java のスケジューラーと Unix の crontab の間を移動するときの「cron がおかしい」という混乱の最も一般的な原因です。
よくある質問
- 5 つのフィールドは順番に何ですか?
- 分(0–59)、時(0–23)、日(1–31)、月(1–12)、曜日(0–6、日曜日 = 0、7 も日曜日として受け付けます)。順番を覚えるのは永遠の苦行です — 分解パネルがあなたの式の各フィールドにラベルを付けます。
- なぜ「0 0 1 * 1」は予想より頻繁に実行されるのですか?
- 日(1 日)と曜日(月曜日)の両方が制限されているため、cron はどちらかが一致したときにジョブを実行するからです — 毎月 1 日と毎週月曜日の両方です。「1 日で、かつ月曜日のときだけ」を表現するには、スクリプト側での日付チェックが必要です。
- 次回実行時刻はどのタイムゾーンを使いますか?
- ブラウザーのローカルタイムゾーンで、結果の横に表示されます。実際の crontab はサーバーのタイムゾーン(または一部の cron の TZ= 行)で動きます — 対象マシンが何を使っているか、特に夏時間の切り替えをまたぐ場合は必ず確認してください。
- 秒や年はサポートしていますか?
- いいえ — それらは 6 または 7 フィールドを持つ Quartz(Java)の拡張です。標準の Unix cron はちょうど 5 フィールドで、1 分の分解能です。6 フィールドの入力は誤読される代わりに、Quartz として検出・報告されます。