繁体   English   中英

DateWeaver日期字段转换不起作用-Mule

[英]DateWeaver date field conversion not working - Mule

在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"
 }

我还有其他查询,这里我们在编织器中对日期进行硬编码。 如果假设我们要从Input参数获取date字段,是否需要将字段包装在|| 下面的示例,它将正常工作

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

以上似乎对我不起作用。 请让我知道正确的用法。 提前致谢

尝试这个:

%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" }

看来结果不会更改为/ 这可能是一个错误。

 %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
}

尝试这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM