---
schema_version: "1"
id: e7772883826af7e44ea6062707100240fb1623029e8f2ca3238352c495acab8c
title: DataWeave を使用した日付の解析
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.8/dataweave-cookbook-parse-dates.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-cookbook-parse-dates
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 1dd5d44063d6e574048d34ee44db38e0107f0de61a412438912c329cc463345a
description: MuleSoft Documentation Site
release: "2.8"
latest: false
---
# DataWeave を使用した日付の解析

これらの DataWeave の例では、DataWeave ヘッダーで関数 (​`fun`​) を定義して、さまざまな日付形式内の日付区切り文字 (​`/`​、​`.`​、​`-`​) を正規化して、すべてで同じ区切り文字 (​`-`​) が使用されるようにします。 開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、​[DataWeave バージョン 1.2 の例](#1.2@dataweave::dataweave-examples.adoc)​を参照してください。 他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。

この例では、次の関数を使用します。

- すべての日付を 1 つのパターンに一致させる ​`replace`​。
- `date`​ 要素を調べる ​`mapObject`​。スクリプトで正規化関数を各 ​`date`​ に適用します。
- 値のデータ型を特定の日付形式の Date (日付) 型に変更する ​`as`​ (2 番目の DataWeave スクリプト)。

## [](#例-string-文字列-型として日付を返す)例: String (文字列) 型として日付を返す

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/xml
fun normalize(date) = (date) replace "/" with "-" replace "." with "-"
---
dates: (payload.dates mapObject {
    normalized_as_string: normalize($)
})
```

入力 XML ペイロード:

```xml
<dates>
  <date>26-JUL-16</date>
  <date>27/JUL/16</date>
  <date>28.JUL.16</date>
</dates>
```

出力 XML:

```xml
<?xml version='1.0' encoding='US-ASCII'?>
<dates>
  <normalized_as_string>26-JUL-16</normalized_as_string>
  <normalized_as_string>27-JUL-16</normalized_as_string>
  <normalized_as_string>28-JUL-16</normalized_as_string>
</dates>
```

## [](#例-date-日付-型として日付を返す)例: Date (日付) 型として日付を返す

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/xml
fun normalize(date) = (date) replace "/" with "-" replace "." with "-"
---
// Outputs date values as Date types in the specified format
dates: (payload.dates mapObject {
    normalized_as_date: (normalize($) as Date {format: "d-MMM-yy"})
})
```

入力 XML ペイロード:

```xml
<dates>
  <date>26-JUL-16</date>
  <date>27/JUL/16</date>
  <date>28.JUL.16</date>
</dates>
```

出力 XML:

```xml
<?xml version='1.0' encoding='UTF-8'?>
<dates>
  <normalized_as_date>2016-07-26</normalized_as_date>
  <normalized_as_date>2016-07-27</normalized_as_date>
  <normalized_as_date>2016-07-28</normalized_as_date>
</dates>
```

## [](#関連する例)関連する例

- [日付の加算と減算](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-cookbook-add-and-subtract-time)
- [複数の入力の参照](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-cookbook-reference-multiple-inputs)

## [](#関連情報)関連情報

- [DataWeave の型](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-types)
- [DataWeave セレクター](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-selectors)
- [DataWeave の解説書](https://docs.mulesoft.com/jp/dataweave/2.8/dataweave-cookbook)