Cron 式の解析と実行時刻の予測
変換・計算処理はすべてブラウザ内で完結します。データは送信されません
入力
出力
「*/15 9-17 * * 1-5」のような式を日本語に翻訳します。まず各フィールドが何を書いているかを1つずつ説明し、次に一文の要約を出し、最後に次にいつ実行されるかを並べます。実行時刻は「次に一致しうる時刻へ飛ぶ」方式で求めるので、1分ずつ試すことはなく、2月29日を指定した場合でもすぐ結果が出ます。絶対に実行されない式(2月31日など)を書いた場合は、ページが回り続けるのではなく理由をその場で示します。
機能
- 5 通りの書き方すべてに対応:アスタリスク、単一値、範囲 a-b、リスト a,b,c、ステップ(アスタリスクや範囲の後ろに /n)
- 月と曜日は JAN-DEC、SUN-SAT の名前でも書けます
- フィールドごとの説明 + 一文の要約(例:「毎週月曜〜金曜の 9 時から 17 時まで 15 分ごと」)
- 次に実行される時刻を 1〜50 件表示し、曜日も添えます
- 「日」と「曜日」の両方を指定したときの「または」の関係を正しく処理(Vixie cron の意味論)
- @daily、@hourly、@weekly、@monthly、@yearly などのマクロに対応
- 絶対に実行されない式はその場で判定し、どのフィールドの組み合わせが不可能なのかを示します
- 実行時刻はローカルタイムゾーンでも UTC でも表示できます(サーバーの cron は UTC が多いため)
使い方
- 5 フィールドの cron 式を入力欄に貼り付けます
- 説明の言語、表示件数、どのタイムゾーンで表示するかを選びます
- 「実行」を押します(Ctrl/⌘ + Enter でも可)
- 結果をコピーするか、説明に従って式を直します
よくある質問
- 6 フィールドの式が拒否されるのはなぜですか?
- 先頭に「秒」を足すのは Quartz や Spring の書き方で、古典的な cron は 5 フィールドです。6 フィールドの式を 5 フィールドとして読むと、どのフィールドも1つずつずれて、計算される実行時刻は意図とまったく別物になります。そのためここでは無理に解析せず、秒の欄を消すよう促して拒否します。
- 「日」と「曜日」を両方書くとどうなりますか?
- 古典的な cron(Vixie)の規則は「または」です。「0 0 1 * 1」は毎月1日、または毎週月曜に実行する意味になります。どちらかがアスタリスクのときにだけ「かつ」に変わります。この規則は実装によって間違えやすく、このツールは Vixie の意味論どおり、両方が限定されているときは「または」として扱います。
- 実行時刻はどのタイムゾーンで計算しますか?
- 切り替えられ、既定はローカルタイムゾーンです。コンテナやサーバーの cron は UTC で動くことが多く、手元で確認するときはローカルのほうが分かりやすいので、両方を用意しています。切り替えると一覧の時刻がまとめてずれ、曜日もそれに従って変わります。
- 「絶対に実行されない」と出るのはなぜですか?
- たとえば「0 0 31 2 *」です:2月に31日はないので、どの年でも実行されません。このツールは「日」と「月」の組み合わせがどの年にも存在しないかを調べます。あわせて探索の上限を4年に取っています(うるう年の最長間隔は8年に達することがあります)。上限を超えた場合は、見つかるまで回し続けるのではなく、見つからないと正直に報告します。
関連ツール
タイムスタンプ変換
変換・計算Unix タイムスタンプと日時を相互変換。秒とミリ秒を自動判別し、タイムゾーンを選べます。結果は行ごとにコピーでき、すべてブラウザ内で処理します。
日付計算
変換・計算2つの日付の差が何日かを計算し、日・週・月の加減算もできます。日付はカレンダーから選ぶか貼り付けで。終了日を空にすると今日と比較。
基数変換
変換・計算2・8・10・16・36 進数を相互変換。5 通りの結果を一度に表示し、19 桁のスノーフレーク ID も正確に扱えます。すべてブラウザ内で処理します。
色変換
変換・計算HEX・RGB・HSL・HSV の相互変換と、文字色と背景色の WCAG コントラスト比の計算。AA・AAA に届いているかも判定します。すべてブラウザ内で処理します。
単位換算
変換・計算長さ・重さ・温度・体積などの単位を換算します。1つ値を入れると、同じ種類の全単位での結果が一度に見られます。すべてブラウザ内で処理し、送信しません。