1

DataWeaver ドキュメント 10.8. Changing the Format of a Date https://developer.mulesoft.com/docs/dataweave#_date_time_operations

Below is the transform 

 %dw 1.0
 %output application/json
 %type mydate = :string { format: "YYYY/MM/dd" }
 ---
{
formatedDate1: |2003-10-01T23:57:59| as :mydate,
formatedDate2: |2015-07-06T08:53:15| as :mydate
}

Dataweaver のプレビューでは、期待どおりの応答 (日付形式の変更) に問題がないように見えます。ファイルコンポーネントで応答を取得していますが、日付が上記の形式に変換されていません(期待される応答ではなく、dataWeaverの直後にロガーも保持されます)。

以下のように応答する

{
"formatedDate1": "2003-10-01T23:57:59",
"formatedDate2": "2015-07-06T08:53:15"
 }

他のクエリがあります。ここでは、ウィーバー内で日付をハードコーディングしています。入力パラメータから日付フィールドを取得する場合、フィールドを でラップする必要があります||。以下の例、うまくいきますか

    %dw 1.0
    %output application/json
     %type mydate = :string { format: "YYYY/MM/dd" }
    ---
    {
     formatedDate1: |payload.dateField1| as :mydate,
     formatedDate2: payload.dateField1 as :mydate
    }

上記は私にはうまくいかないようです。正しい使い方を教えてください。前もって感謝します

4

2 に答える 2

2

これを試して:

%dw 1.0
%output application/json
%type mydate = :date { format: "yyyy/M/d" }
---
{
  formatedDate1: |2003-10-01T23:57:59| as :mydate,
  formatedDate2: |2015-07-06T08:53:15| as :mydate
}

出力:

{
  "formatedDate1": "2003-10-01",
  "formatedDate2": "2015-07-06"
}

違いは から:stringまでのデータ型:date:です。

%type mydate = **:date** { format: "yyyy/M/d" }

結果は に変わらないよう/です。これはおそらくバグです。

于 2015-09-22T14:37:40.233 に答える
0
 %dw 1.0
 %output application/json
 %type mydate = :string { format: "YYYY/M/d" }
 ---
{
formatedDate1: |2003-10-01T23:57:59| as :mydate,
formatedDate2: |2015-07-06T08:53:15| as :mydate
}

これを試して

于 2015-09-21T12:24:30.667 に答える