cron式メーカー&次回実行チェッカー|日本時間からActions・EventBridge・Linux・Springのスケジュールを生成
日本時間で「いつ動かしたいか」を選ぶと、GitHub Actions・AWS EventBridge・Linux crontab・Spring @Scheduled 用の cron 式をまとめて生成するツールです。
Actions や EventBridge は cron を UTC で解釈するため、JST のつもりで書くとズレます。このツールがUTC変換や曜日のずれも自動計算するので、出てきた式をコピーするだけです。
逆に、既存の cron 式から次の実行日時を日本時間で確認するモードも備えています。
※計算はブラウザ内で行います。日本時間(JST)を基準に各環境のcronを生成します。
「日本時間から作る」では、パターンと時刻を選ぶと各環境の式が出ます。「cron式を調べる」では、式と環境を選ぶと次の5回の実行日時(JST/UTC)が出ます。
なぜ日本時間を起点にすると安全なのか
GitHub Actions の schedule と AWS EventBridge は cron を UTC で解釈します。
「毎朝9時(JST)」のつもりで 0 9 * * * と書くと、実際は18時(JST)に動いてしまうのが典型的な事故です。9時(JST)に動かすには UTC で 0 0 * * * が正解。
このツールは日本時間を入力にして UTC への変換を肩代わりするので、この種の取り違えを防げます。
プラットフォーム別の違い
| 環境 | 項目数 | 曜日 | タイムゾーン |
|---|---|---|---|
| Linux crontab | 5 | 0〜6(0=日) | サーバーのTZ(JST運用が多い) |
| GitHub Actions | 5 | 0〜6(0=日) | UTC固定 |
| k8s CronJob | 5 | 0〜6(0=日) | UTC(timeZone指定可) |
| AWS EventBridge | 6 | 1〜7(1=日) | UTC(Schedulerはtz指定可) |
| Spring @Scheduled | 6(秒始まり) | 0〜7(0/7=日) | zone属性で指定可 |
特に間違えやすいのが曜日番号です。Linuxの「1」は月曜ですが、EventBridgeの「1」は日曜を指します。このツールは各環境の番号体系で出力するので、取り違えを避けられます。
「毎月1日の早朝(JST)」だけ注意が必要な理由
JST から UTC へは9時間引きます。そのため0〜8時台(JST)はUTCだと前日になります。
多くのケースはこれで問題ありません。毎週なら曜日が1つ前にずれるだけ(月曜→日曜)、毎月でも2日以降なら前日(15日→14日)にずらせば表現できます。
唯一やっかいなのが「毎月1日の0〜8時台(JST)」です。UTCの前日が前月末日になり、末日は月により28〜31日と変わるため、UTC固定のActions/EventBridgeでは標準cron1本で表現できません。
このツールはそのケースだけ警告を出し、JSTのまま動かせる Linux(TZ=JST)・Spring(zone=Asia/Tokyo)の利用や、EventBridge の L(末日)指定をおすすめします。誤ったcronは出しません。
関連記事

まとめ
- 日本時間を起点に、各環境(Actions/EventBridge/Linux/Spring/k8s)のcronを生成できる
- UTC変換・曜日番号の違い・曜日/日のずれを自動で計算する
- 「毎月1日の早朝(JST)」だけは標準cronで表現できないため警告+代替案を提示
- 逆方向(cron式→次の実行日時をJSTで確認)も可能
💡 ブックマークしておくと、ワークフローやスケジュールの設定前に正しいcronをすぐ用意できて便利です。
参考(出典)
- GitHub Actions: schedule(GitHub Docs)
- Cron expressions in EventBridge(AWS Docs)
- Task Execution and Scheduling(Spring Docs)
