public final class CronExpression extends ObjectSE
CronExpression
インスタンスは parse(String)
を通じて作成されます。次の一致は next(Temporal)
で決定されます。
CronTrigger
修飾子と型 | メソッドと説明 |
---|---|
boolean | equals(ObjectSE o) |
int | hashCode() |
static boolean | isValidExpression(StringSE expression) 指定された文字列が有効な cron 式を表すかどうかを判別します。 |
<T extends TemporalSE & ComparableSE<? super T>> | next(T temporal) この式に一致する次の Temporal SE を計算します。 |
static CronExpression | parse(StringSE expression) 指定された crontab 式文字列を CronExpression に解析します。 |
StringSE | toString() この CronExpression の作成に使用された式文字列を返します。 |
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public static CronExpression parse(StringSE expression)
CronExpression
に解析します。文字列には、スペースで区切られた 6 つの時間と日付のフィールドがあります。┌───────────── second (0-59) │ ┌───────────── minute (0 - 59) │ │ ┌───────────── hour (0 - 23) │ │ │ ┌───────────── day of the month (1 - 31) │ │ │ │ ┌───────────── month (1 - 12) (or JAN-DEC) │ │ │ │ │ ┌───────────── day of the week (0 - 7) │ │ │ │ │ │ (0 or 7 is Sunday, or MON-SUN) │ │ │ │ │ │ * * * * * *
次の規則が適用されます。
*
)にすることができ、これは常に「最初から最後」を表します。「日」または「曜日」フィールドでは、アスタリスクの代わりに疑問符(?
)を使用できます。-
)で区切られた 2 つの数値で表されます。指定された範囲は包括的です。/n
で範囲(または *
)をたどると、範囲全体の数値の値の間隔が指定されます。L
-character を含めることができ、各フィールドで異なる意味を持ちます。L
は「月の最後の日」を表します。負のオフセットが続く場合(つまり、L-n
)、「n
からその月の最後の日まで」を意味します。W
(つまり LW
)が後に続く場合は、「月の最後の平日」を意味します。L
は「週の最終日」を表します。数字または 3 文字の名前(dL
または DDDL
など)が前に付いている場合、「月の最後の曜日 d
(または DDD
)」を意味します。nW
にすることができます。これは、「月の日に最も近い平日 n
」を表します。n
が土曜日になると、その前に金曜日になります。n
が日曜日に落ちる場合、これは月曜日になります。これは、n
が 1
で土曜日に落ちる場合にも発生します(つまり、1W
は「月の最初の平日」を表します)。d#n
(または DDD#n
)を指定できます。これは、「 n
-th の曜日 d
(または DDD
)を表します」。式の例:
"0 0 * * * *"
= 毎時 0 分 0 秒。"*/10 * * * * *"
= 10 秒ごと。"0 0 8-10 * * *"
= 毎日 8, 9, 10 時。"0 0 6,19 * * *"
= 毎日 AM 6:00 および PM 7:00。"0 0/30 8-10 * * *"
= 毎日 8:00, 8:30, 9:00, 9:30, 10:00, 10:30。"0 0 9-17 * * MON-FRI"
= 平日 9 時から 5 時 "0 0 0 25 12 ?"
= クリスマスの真夜中 "0 0 0 L * *"
= 毎月の深夜 0 時 "0 0 0 L-3 * *"
= 真夜中の月の 3 番目から最後の日 "0 0 0 1W * *"
= 真夜中の月の最初の平日 "0 0 0 LW * *"
= 月の最後の平日午前 0 時 "0 0 0 * * 5L"
= 月の最終金曜日の午前 0 時 "0 0 0 * * THUL"
= 月の最終木曜日の深夜 "0 0 0 ? * 5#2"
= 月の第 2 金曜日の深夜 "0 0 0 ? * MON#1"
= 月の最初の月曜日の深夜 次のマクロもサポートされています。
"@yearly"
(または "@annually"
)は、年に 1 回実行されます。つまり、"0 0 0 1 1 *"
"@monthly"
は月に 1 回実行されます。つまり、"0 0 0 1 * *"
"@weekly"
は週に 1 回実行されます。つまり、"0 0 0 * * 0"
"@daily"
(または "@midnight"
)は 1 日 1 回実行されます。つまり、"0 0 0 * * *"
"@hourly"
は 1 時間に 1 回実行されます。つまり、"0 0 * * * *"
です。expression
- 解析する式の文字列 CronExpression
オブジェクト IllegalArgumentExceptionSE
- 式のが cron 形式に準拠していません public static boolean isValidExpression(@Nullable StringSE expression)
expression
- 評価する式 true
(指定された式が有効な cron 式である場合)@Nullable public <T extends TemporalSE & ComparableSE<? super T>> T next(T temporal)
Temporal
SE を計算します。T
- テンポラルの型 temporal
- シード値 null
public int hashCode()
ObjectSE
の hashCodeSE
public StringSE toString()
CronExpression
の作成に使用された式文字列を返します。ObjectSE
の toStringSE