日時

Quartz cron式ジェネレーター · 月末の条件を日付で確かめる

Java Quartzの式を読み取り、秒・年・相対日付の条件から次回実行日時を確認します。

Quartz cron式ジェネレーター

式

入力はこのブラウザー内で処理され、サーバーには送信されません。

項目の説明と一致日時

オプション

秒を含むISO日時を入力。無指定なら選択中のIANAタイムゾーンを使用します。重複・欠落する時刻にはZかオフセットが必要です。現地開始年は1970–2099。

夏時間の欠落時刻はスキップ。重複時刻は後のオフセットを使いますが、現地項目を開始前へ戻しません。ブラウザーとJVMの時刻データや設定には差があります。

最大512 UTF-16単位、1–1,000件。開始後10現地暦年以内かつ2099年まで。計算は5秒で打ち切ります。

項目から作成

項目の変更はプレビューして適用するまで元の式を変えません。

0 0 9 ? * MON-FRI

秒・分0–59、時0–23、日1–31、月1–12、曜日1=日曜~7=土曜、年1970–2099(空欄で省略)。日と曜日の片方だけを?にします。

Java Quartz 2.3.2の一般的な構文:リスト、範囲、数字のステップ、?、L、L-n、LW、nW、nL、n#k。特殊指定は単独。名前付きステップ、混在範囲、L-nWは対象外です。

入力または設定が変更されました。結果を更新してからエクスポートしてください。

Quartz cron式ジェネレーターは、「月の最終日」と「月の最後の平日」を区別したいときに役立ちます。末日が日曜なら、その二つは同じ日になりません。記号の数だけを見るのではなく、実際に選ばれる日付を確認してからトリガーへ設定できます。

既存の式を読み込むcron式解析と、項目ごとのcron式作成を一つの画面で行えます。cron式生成が成功しても、指定した期間内に希望する件数が見つかるとは限りません。開始日時とタイムゾーンを固定して、条件が意図したカレンダーに合うか確認してください。

Quartz cron式ジェネレーターを使う理由

日と曜日を勝手に書き換えない

Quartz cron式ジェネレーターでは、日と曜日のどちらか一方だけを?にします。両方に条件を書いた場合は競合する項目を表示します。片方を自動で消さないため、既存の予定の意図を保ちながら下書きを修正できます。

一つの入力から日と曜日の二つの条件へ分岐し、片方だけが選択されている図。

月末と最後の平日の違いが見える

Lはカレンダーの末日、LWは月内で最後の月曜から金曜です。月末が日曜なら、LWはその前の金曜になります。月次処理を作る際に、毎月31日と月末を混同したり、土日を含む日付を平日と思い込んだりするのを防げます。

同じ月の二つのカレンダーで、末日の日曜と直前の金曜をそれぞれ強調した図。

下書きと検索条件を確認する

01

項目に読み込んでから適用する

項目への読み込みは式を下書きに分解する操作です。テンプレートを選んでも元の入力は変わりません。年を空欄にすると6項目、年を指定すると7項目になります。変更内容と文字数をプレビューし、適用後は入力・設定・結果をまとめて一度元に戻せます。

02

開始日時を曖昧にしない

最初の例はUTCの2026年1月1日を基準にしています。現在時刻ボタンでは新しい開始日時を確認してから適用します。秒まであるISO形式を使い、タイムゾーンのない入力は選択した地域の時刻として扱います。夏時間で重複・欠落する時刻には明示的なオフセットが必要です。

03

件数と検索の終点を読む

最初は50件まで表示し、追加表示も50件ずつです。コピーには全件の説明が入り、ダウンロードはJSONです。自動計算は350ms待って実行します。オフにすると解析ボタンやCtrl/Cmd + Enterを使えます。入力や設定を変えた後は、再計算まで古い結果を出力できません。

記号から実際のカレンダー条件へ

秒から始まる6項目と任意の年

必須の順序は秒、分、時、日、月、曜日です。年は末尾の任意項目なので、省略しても秒は必要です。正規化した式は年の有無を維持します。既存の式を読み込めば、各値がどの項目に属するか説明で確認できます。

相対日付を月ごとに計算

L-nは末日からn日前、nWは同じ月内で指定日に最も近い月曜から金曜です。曜日のnLは最後の該当曜日、n#kは第k回の該当曜日を選びます。FRI#3と6Lはどちらも金曜ですが、選ばれる週は異なることがあります。

日付境界をまたぐ範囲

時の22-2は深夜をまたぎ、月のNOV-FEBは年末をまたぎます。分の5/15は5、20、35、50分を選び、次の時間に入ると同じ値から繰り返します。開始時刻から永久に一定間隔で進む指定ではありません。年の範囲だけは昇順が必要です。

地域の時刻とUTCを同時表示

各結果には現地日時、UTCオフセット、UTCの瞬間が含まれます。検索開始と上限も残るため、日時を他の環境と比較するときに条件を確認できます。該当日が少ない場合は要求件数と実際の件数を分けて示し、全件を見つけたようには表示しません。

方言とプレビューの範囲

Java Quartz 2.3.2の一般的な構文に限定
1行、最大512 UTF-16単位、6または7項目です。Spring、Quartz.NET、AWS、Jenkinsの変換機能ではありません。秒・分は0–59、時は0–23、月は1–12。曜日は1が日曜、7が土曜です。日と曜日は必ず片方だけを?にします。
特殊な日付指定は単独で使う
日ではL、L-1からL-30、LW、1Wから31Wを受け付けます。曜日では単独のLは土曜、nLは最後の曜日、n#1からn#5は出現回数です。特殊指定のリスト、複数の#、L-nWは対象外です。必要な条件を複数のトリガーに分けるか検討してください。
名前にステップを付けない
月名JAN–DECと曜日名SUN–SATは大文字小文字を区別しません。範囲の両端は数字同士か名前同士にしてください。JAN-MAR/2のような名前付きステップや名前と数字の混在範囲は拒否します。数字のステップか明示的なリストを使えます。
存在しない日付は別の日に移さない
31日、31W、第5曜日がない月はスキップします。Wは月曜から金曜を意味し、祝日判定はありません。年と現地開始年は1970–2099です。検索は開始後10現地暦年以内、最大1,000件で、計算は5秒で打ち切ります。少ない結果だけで永続的に実行不能とは判断できません。
実際のジョブ実行は対象外
夏時間で存在しない時刻はスキップします。重複時刻では通常後のオフセットを選びますが、開始時刻より前の現地項目へは戻りません。ブラウザーとJVMの時刻データには差があり得ます。祝日除外、misfire、再試行、同時実行、ジョブ処理はシミュレーションしません。

Quartz cron式ジェネレーターのよくある質問

スマートフォンでも式を作れますか?

作れます。狭い画面では入力と結果が縦に並び、項目ごとの編集も利用できます。長い日時や説明は折り返します。秒や年を含む全体を確認するときは、項目への読み込みと置換プレビューを使うと位置を見失いにくくなります。

入力したcronの内容は保存されますか?

このページに履歴の保存機能はありません。再読み込みすると入力や一度分の取り消し情報は復元されません。後で同じ条件を確認したい場合は、検索条件と日時を含むJSONをダウンロードして手元に残してください。

5分ごと、毎時、毎月1日の指定はできますか?

5分ごとは0 0/5 * * * ?、毎時ちょうどは0 0 * * * ?、毎月1日の9時は0 0 9 1 * ?と書けます。先頭の秒を省略しないでください。月次の指定はカレンダーに従うので、実行間隔が一定の時間数になるわけではありません。

生成結果をそのままcrontabに貼れますか?

このページの出力先はJava Quartzです。一般的なLinux crontabとは項目数、曜日番号、?の扱いが違います。秒を削るだけの変換も行っていません。実際に使うスケジューラーと同じ方言で式を作成してください。

生成できない場合は何を確認しますか?

まず6項目か7項目であること、日と曜日の片方だけが?になっていることを確認してください。次に項目の範囲、特殊記号の組み合わせ、開始日時とタイムゾーンを見ます。エラーでは項目と列を示します。件数不足は構文エラーとは別の状態です。

実行日時が予想と違いますか?

トリガーへ設定する前に日付を確認

Quartz cron式ジェネレーターで項目と実行候補を確認したら、式を対応するJava Quartz設定へコピーしてください。本番のタイムゾーンとトリガーの実行方針も合わせて確認できます。

一致する日時は実行候補であり、ジョブ実行済みの証明ではありません。