cron式の解説・次回実行日時

cron式(crontabのスケジュール設定)を入力すると、その意味を自然な文章で説明し、指定したタイムゾーンでの次回以降の実行日時を一覧表示するツールです。秒付きの6フィールド形式や@dailyなどのマクロにも対応し、すべてブラウザ内で処理されます。

cron式の解析と実行日時の計算はすべてお使いのブラウザ内で行われ、入力内容がサーバーへ送信されることはありません。

分 時 日 月 曜日

5フィールド(分 時 日 月 曜日)または先頭に秒を加えた6フィールドに対応しています。* , - / と、JAN〜DEC・SUN〜SATの名前、@daily などのマクロが使えます。

この式の意味

計算中...

00
99
*すべて
*すべて
曜日1-51-5
次回以降の実行日時

計算中...

使い方

  1. 「cron式」に、スペース区切りで「分 時 日 月 曜日」を入力します(例: 0 9 * * 1-5)。よく使う式はボタンから入力することもできます。
  2. 「この式の意味」に自然な文章での説明と、各フィールドが表す値の一覧が表示されます。書式に誤りがある場合は、どのフィールドが原因かが表示されます。
  3. 「次回以降の実行日時」で、タイムゾーンと表示件数を選ぶと、現在時刻以降に実行される日時が一覧で表示されます。
  4. 「クリップボードへコピー」で、実行日時の一覧をISO 8601形式でコピーできます。

このツールについて

cron式は、Linuxのcrontabをはじめ、GitHub ActionsやKubernetesのCronJob、各種クラウドのスケジューラーなどで定期実行のタイミングを指定するために使われる書式です。「*/15 9-18 * * 1-5」のような式は一目で意味を読み取りにくく、設定ミスによって想定外の時刻にジョブが動いてしまうこともあります。

このツールは、cron式を自然な文章に変換して意味を確認できるほか、実際に次にいつ実行されるのかを日時の一覧で示します。「日」と「曜日」の両方を指定した場合は、標準的なcronと同じく、どちらかに一致すれば実行されるものとして計算します。夏時間の切り替えで存在しない時刻は、実行日時の一覧から除外されます。

説明文の生成にはオープンソースライブラリのcronstrue(MITライセンス)を、実行日時の計算にはブラウザ標準のIntl APIを使用しています。GitHub ActionsなどUTCで動くスケジューラーの設定を確認するときは、タイムゾーンに「UTC」を指定してください。

よくある質問

秒を含む6フィールドのcron式にも対応していますか?

対応しています。6つのフィールドを入力すると、先頭を秒として扱います(Spring・Quartzなどの形式)。

「L」「W」「#」は使えますか?

月末(L)や直近の平日(W)、第n曜日(#)などの拡張構文は、実装によって解釈が異なるため現在は対応していません。

GitHub Actionsのscheduleの確認に使えますか?

使えます。GitHub ActionsのcronはUTCで評価されるため、タイムゾーンに「UTC」を指定して確認してください。日本時間で確認したい場合は「Asia/Tokyo」を指定すると、UTCの式が日本時間で何時に実行されるかがわかります。

入力したcron式はサーバーに送信されますか?

送信されません。解析と計算はすべてブラウザ内のJavaScriptで行われます。