EL式を利用して日付日時を出力する際の設定書式です。[データ更新]の日付型/日時型データ項目への代入や、タイマー日時の設定、各工程の設定値をセットする際に利用されます。「日付型/日時型データの参照」「ケース開始日時/システム時刻の参照」「文字列からの変換」を利用可能です。また、参照した日付/日時を基準として、「30分後」「7日後」「月末」などを指定することもできます。
BPMNアイコン:[データ更新]、[タイマー中間イベント]、など
(指定フォーマットで固定の日付 / 日時を入力する)
| 設定書式 | 日付型に代入された結果 | 日時型に代入された結果 |
|---|---|---|
| 2020-03-14 23:45 | 2020-03-14 (2020-03) (03-14) (2020) 代入先のサブタイプ設定に従う |
2020-03-14 23:45 |
ケース開始日時を参照する
| 設定書式 | 日付型に代入された結果 | 日時型に代入された結果 |
|---|---|---|
| processInstanceStartDatetime | 2020-03-14 | 2020-03-14 23:45 |
| processInstanceStartDatetime.addMinutes(30) | 2020-03-15 | 2020-03-15 0:15 |
| processInstanceStartDatetime.addHours(2) | 2020-03-15 | 2020-03-15 1:45 |
| processInstanceStartDatetime.addDays(3) | 2020-03-17 | 2020-03-17 23:45 |
| processInstanceStartDatetime.addMonths(-4) | 2019-11-14 | 2019-11-14 23:45 |
| processInstanceStartDatetime.addDays(#q_num.intValue()) ※ | 2020-03-17 ※ | 2020-03-17 23:45 ※ |
| processInstanceStartDatetime.addMonths(1).getFirstTimeInMonth() | 2020-04-01 | 2020-04-01 00:00 |
| processInstanceStartDatetime.addMonths(1).getLastTimeInMonth() | 2020-04-30 | 2020-04-30 23:59 |
| processInstanceStartDatetime.addDays(1).getFirstTimeInDate().addHours(9) | 2020-03-15 | 2020-03-15 9:00 |
※ 固定の数値を指定する代わりに、数値型データ項目(q_num)の値が参照されます
システム時刻を参照する
その日
| 設定書式 | 日付型に代入された結果 | 日時型に代入された結果 |
|---|---|---|
| #today | 2020-03-14 | 2020-03-14 00:00 |
| #today.addMonths(1) | 2020-04-14 | 2020-04-14 00:00 |
その時刻
| 設定書式 | 日付型に代入された結果 | 日時型に代入された結果 |
|---|---|---|
| #now | 2020-03-14 | 2020-03-14 23:45 |
| #now.addDays(-7) | 2020-03-07 | 2020-03-07 23:45 |
| #now.addDays(1).getFirstTimeInDate().addHours(9) | 2020-03-15 | 2020-03-15 9:00 |
日付型/日時型データ項目を参照する
| 設定書式 | 日付型に代入された結果 | 日時型に代入された結果 |
|---|---|---|
| #q_datetime | 2020-04-01 | 2020-04-01 9:00 |
| #q_datetime.addHours(9) | 2020-04-01 | 2020-04-01 18:00 |
文字列を参照する
| 設定書式 | 日付型に代入された結果 | 日時型に代入された結果 |
|---|---|---|
| #dateFormatter.parse('yyyy-MM-dd HH:mm', '2021-04-12 09:45') | 2021-04-12 | 2021-04-12 09:45 |
| #dateFormatter.parse('yyyy-MM-dd HH:mm', #dateFormatter.format('yyyy-MM-dd 12:23', #q_date)) | 2021-04-12 | 2021-04-12 12:23 |
条件に応じた日付の選択(三項演算子)
EL式では、条件式 ? 真の場合の値 : 偽の場合の値 という形式の三項演算子が使えます。日付型・日時型データ項目への代入でも利用でき、2つの日時のうち早い(または遅い)方を選ぶ用途などに応用できます。
| 設定書式 | 代入された結果(例) |
|---|---|
| #q_date1 < #q_date2 ? #q_date1 : #q_date2 | 「q_date1」と「q_date2」のうち、早い方の日付 |
| #q_datetime1 < #now ? #now : #q_datetime1 | 「q_datetime1」が過去なら現在日時、そうでなければ「q_datetime1」 |
Notes
- 『日付型(年月日)』と『日時型』の相互変換(代入)が可能です
- 例) 「日付型:2020-03-14」=>「日時型:2020-03-14 00:00」「日時型:2020-03-14 23:45」=>「日付型:2020-03-14」
- 『日付型』の場合(『日時型』と異なり)「23:45」等の時分情報は持ちません
- 『締切』に応用した場合は当該日の「23:59」として、『タイマー中間』に応用した場合は当該日の「00:00」として動作します
- [データ更新]では、設定書式として何も設定しない場合、「空」が代入されます。(データが消去されます)