本文へ移動
ZEKILO Dev

Cron式の解説

Cron式を入力すると、その意味と次に実行される日時を表示します。

入力はブラウザの外に出ませんPOSIX crontab基準日 2026.10.03

入力

Cron式の解説の使い方

  1. 10 9 * * 1-5 のようなCron式を入力するか、「例を入れる」を押します。
  2. 2ジョブが実行されるタイムゾーンを、ブラウザ・UTC・Asia/Seoul・Asia/Tokyo から選びます。
  3. 3説明と次回実行日時の5回分を確認し、必要な行の「コピー」ボタンを押します。

Cron式の解説のオプション

形式
自動ではフィールド数で判別します。5フィールド(分 時 日 月 曜日。Unix cron、Kubernetes、GitHub Actions)、6フィールド(先頭に秒)、7フィールド(Quartz、末尾に年)です。6フィールドの式をQuartzの曜日番号(1が日曜日)で読むには、Quartzを選びます。
タイムゾーン
次回実行日時をこのタイムゾーンで計算して表示します。ブラウザ(既定)、UTC、Asia/Seoul、Asia/Tokyo から選びます。各行には同じ時刻をUTCでも表示します。

Cronのフィールド

5フィールドの形式は POSIX crontab の仕様に由来します。

フィールド 範囲 補足
分 0~59
時 0~23
日 1~31 L はその月の最終日
月 1~12 または JAN~DEC
曜日 0~7 または SUN~SAT 0と7はどちらも日曜日

どのフィールドでも、* はすべての値、1,15 はリスト、1-5 は範囲、*/15 は間隔を表します。このツールは、まずフィールド数と各フィールドの範囲を検査します。そのため、エラーのときは何番目のフィールドが誤っているかと、そのフィールドに書ける値をお知らせします。

GitHub ActionsとKubernetesのタイムゾーン

Cron式そのものにタイムゾーンはありません。同じ 0 9 * * 1-5 が、あるサーバーでは日本時間の9時に、別のサーバーではUTCの9時に実行されます。GitHub Actionsのschedule は timezone を指定しない場合はUTCで解釈されるため、そのままでは日本時間の9時を 0 0 * * 1-5 と書く必要があります。KubernetesのCronJob は、spec.timeZone を指定しない場合、コントローラーマネージャーのタイムゾーンを使います。

Cron式の解説の例

  • 平日の9時

    タイムゾーン Asia/Seoul、2026-10-02(金)10:00 時点。

    入力

    0 9 * * 1-5

    出力

    次において実施09:00、月曜日 から 金曜日 まで
    2026-10-05 (月) 09:00
    2026-10-06 (火) 09:00
    2026-10-07 (水) 09:00
    2026-10-08 (木) 09:00
    2026-10-09 (金) 09:00
  • 15分ごと

    タイムゾーン Asia/Seoul、2026-10-02 10:07 時点。

    入力

    */15 * * * *

    出力

    15 分ごと
    2026-10-02 (金) 10:15
    2026-10-02 (金) 10:30
    2026-10-02 (金) 10:45
    2026-10-02 (金) 11:00
    2026-10-02 (金) 11:15
  • 存在しない日付

    入力

    0 0 31 2 *

    出力

    実行されません(2月31日はありません)
  • 範囲外の値

    入力

    0 25 * * *

    出力

    2番目のフィールド(時)は0~23です。

例は、このツールを検証している基準ケースの値です。

Cron式の解説のよくある質問

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

いいえ。入力と結果はこのブラウザ内だけで処理され、保存もしません。再読み込みすると消えます。

日と曜日の両方を指定するとどうなりますか?

Unix cron(Vixie cron)では、どちらか一方が一致すれば実行されます。0 0 1 * 1 は毎月1日にも、毎週月曜日にも実行されます。このツールは、両方を指定した式に注意書きを表示し、同じORルールで実行日時を計算します。

cronジョブはどのタイムゾーンで実行されますか?

ジョブを実行するシステムのタイムゾーンです。サーバーのcrontabはサーバーのタイムゾーンを使います。GitHub Actionsのscheduleは、timezoneを指定しない場合はUTCです。KubernetesのCronJobは、spec.timeZone を指定しない場合、コントローラーマネージャーのタイムゾーンを使います。ここでそのタイムゾーンを選ぶと、実際の実行日時を確認できます。

@daily や @reboot は使えますか?

@yearly、@monthly、@weekly、@daily、@hourly は5フィールドに展開し、ほかの式と同じように解説します。@reboot はシステムの起動時に1回実行されるものなので、説明だけを表示し、実行日時はありません。

5フィールド、6フィールド、Quartzは何が違いますか?

5フィールドは分から始まります。6フィールドは先頭に秒が加わります。Quartzも秒があり、末尾に年を書けます。曜日は1(日曜日)から7(土曜日)で数え、指定しない日・曜日のフィールドには ? を書きます。

処理方法・標準

  • 処理する場所:このブラウザ(お使いの端末)。送信も保存もしません。
  • 標準: POSIX crontab
  • エンジン: cronstrue 3.27.0 (MIT) · croner 10.0.1 (MIT) · ZEKILO Dev フィールド検査 (自社実装)
  • 説明の文章は cronstrue ライブラリがページの言語で生成します。
  • 実行日時は入力した時点から数えます。ページを開いている間は1分ごとに一覧を計算し直します。
  • L-n(月末の何日前)を使った式は説明だけを表示し、実行日時は計算しません。
  • 基準日 2026.10.03
  • 変更履歴: 2026.10.03 公開
オープンソースライセンス →
結果がおかしい場合は、エラーを報告する(入力内容は添付されません)