cron式の読み方
cron式は5つの値をスペース区切りで並べたものです。左から「分・時・日・月・曜日」を表します。
| 位置 | 意味 | 範囲 |
|---|---|---|
| 1 | 分 | 0〜59 |
| 2 | 時 | 0〜23 |
| 3 | 日 | 1〜31 |
| 4 | 月 | 1〜12 |
| 5 | 曜日 | 0〜6(0=日曜) |
記号の意味
*… 毎回(その項目は制限なし),… 複数指定。0,30は0分と30分-… 範囲。1-5は月〜金(曜日欄なら平日)/… 間隔。*/15は15分ごと
UTC基準の罠(最重要)
Vercel CronとGitHub Actionsの schedule はUTCで動きます。日本時間はUTC+9時間なので、 書いた数字より9時間後ろにずれて感じられます。日本の朝9時に動かしたいなら 0 0 * * *(UTC0時)、深夜2時のバッチなら 0 17 * * *(UTC17時=JST翌2時)です。 本ツールでタイムゾーンをJSTに切り替えると、UTC式を入れても日本時間での発火時刻が確認できます。
よくある間違い
- ローカルのcronと同じ式をVercel/Actionsに転記:サーバーのcronはそのマシンのタイムゾーン、Vercel/ActionsはUTC。9時間ずれます。
- 「日」と「曜日」を両方指定:OR条件になり、想定より多く実行されることがあります(FAQ参照)。
- 分を
*のままにする:* 9 * * *は「9時台に毎分」実行されます。1回だけなら0 9 * * *と分を固定します。
よくある質問(FAQ)
cron式(クーロン式)とは何ですか?
「分 時 日 月 曜日」の5つの値で定期実行のタイミングを表す書式です。例えば `0 9 * * *` は「毎日9時0分」を意味します。サーバーのcron、Vercel Cron、GitHub Actionsのスケジュール実行などで広く使われます。本ツールは入力した式の意味を日本語に翻訳し、次に動く日時を5回分表示します。
なぜ「9時間ずれる」問題が起きるのですか?
Vercel CronとGitHub Actionsのスケジュールは協定世界時(UTC)で動きます。日本時間(JST)はUTCより9時間進んでいるため、`0 9 * * *` と書くと日本では18時に動いてしまいます。日本の朝9時に動かすには、9時間引いた `0 0 * * *`(UTCの0時)を指定します。本ツールのタイムゾーン切替で、実際の発火時刻を両方の時間帯で確認できます。
対応している記法は?
標準の5フィールドと、`*`(毎回)・`,`(複数指定: `1,15`)・`-`(範囲: `1-5`)・`/`(間隔: `*/15`)に対応します。`L`(最終日)・`W`(平日)・`#`(第n曜日)などの拡張記法には対応していません。曜日は 0〜6(0と7が日曜)で指定します。
次回実行はどうやって計算していますか?
現在時刻から1分ずつ進めて、cron式の条件に合致する時刻を最大1年先まで探索しています。すべてあなたのブラウザ内で計算され、外部に問い合わせは行いません。日をまたぐ条件や複雑な間隔指定でも正確に求められます。
「日」と「曜日」を両方指定するとどうなりますか?
標準のcronの仕様に従い、両方を指定した場合は「日 または 曜日」のどちらかに一致すれば実行されます(OR条件)。例えば `0 0 1 * 1` は「毎月1日」と「毎週月曜」の両方で動きます。片方だけを指定した場合はその条件のみで判定します。
このツールは無料ですか?
完全無料・登録不要です。回数制限もありません。
定期実行ジョブの環境変数チェックには .envキー差分チェッカー、サイトマップの更新頻度設定には robots.txt・sitemap.xml生成ツール もご利用ください。