日付と時刻の書式設定

DataWeave を使用して、入力した日付と時刻の形式を変更できます。 開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、​『DataWeave バージョン 1.2 の例』​を参照してください。 他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。

日付と時刻の形式の変更

MM​ や ​dd​ などの書式設定文字を組み合わせて、サポートされる日付と時刻の形式を記述できます。この例では、​as​ 演算子を使用して日付と時刻を文字列として記述します。

変換
%dw 2.0
output application/json
---
{
  formattedDate: |2020-10-01T23:57:59| as String {format: "uuuu-MM-dd"},
  formattedTime: |2020-10-01T23:57:59| as String {format: "KK:mm:ss a"},
  formattedDateTime: |2020-10-01T23:57:59| as String {format: "KK:mm:ss a, MMMM dd, uuuu"}
}
dataweave
出力
{
  "formattedDate": "2020-10-01",
  "formattedTime": "11:57:59 PM",
  "formattedDateTime": "11:57:59 PM, October 01, 2020"
}
json

DataWeave 型としてのカスタム日付形式の作成

スクリプトで複数の似た変換を実行する場合、ヘッダーでカスタム型をディレクティブとして定義し、各日付をその型に設定できます。DataWeave 型の名前では、大文字と小文字が区別されます。

DataWeave スクリプト
%dw 2.0
output application/json
type Mydate = String { format: "uuuu/MM/dd" }
---
{
  formattedDate1: |2019-10-01T23:57:59| as Mydate,
  formattedDate2: |2020-07-06T08:53:15| as Mydate
}
dataweave
出力
{
  "formattedDate1": "2019/10/01",
  "formattedDate2": "2020/07/06"
}
json

日付と時刻の書式設定文字の使用

DataWeave では、日付形式 ​uuuu-MM-dd​ での ​u​ (年)、​M​、​d​ など、書式設定文字の使用がサポートされています。これらの文字は、Java 8 の ​java.time.format​ パッケージに基づいています。

次の例は、サポートされる文字を表示するように ​now​ DataWeave 関数の出力を書式設定しています。

DataWeave スクリプト

日付または時刻を書式設定するための構文の使用方法を参照してください。

出力