Mule:Dataweave - 来自字符串

时间:2016-12-05 19:11:12

标签: datetime mule dataweave mel

我一直在寻找并找不到(或没有认出)这个问题的解决方案。我对MEL很新,所以请善待。 :)

我正在构建一个接受2个日期作为字符串的服务。我希望能够接受任何(在合理范围内)日期的合法字符串表示并将其强制转换为特定格式。

到目前为止;我尝试的一切都会导致错误。为了简化现在的过程,我已经开始使用Dataweave中的字符串,而不是现在使用实际输入。

我有这样的声明: startDate:'2016/11/25 12:00:00'as:localdatetime {format:“yyyy / MM / dd HH:mm:ss”} as:date {format:“yyyymmdd”},

我得到了回应: 无法强制a:date到a:string,由:不支持的字段:MinuteOfHour。

我也试过这个: startDate:'2016/11/25 12:00:00'as:date {format:“yyyymmdd”},

我得到了这样的答复: 无法强制a:字符串到:日期,由以下原因引起:文本'2016/11/25 12:00:00'无法在索引4处解析。

2 个答案:

答案 0 :(得分:2)

我会用:

startDate: '2016/11/25 12:00:00' as :localdatetime {format: "yyyy/MM/dd HH:mm:ss"} as :string {format: "yyyymmdd"}

或者:

startDate: '2016/11/25 12:00:00' as :localdatetime {format: "yyyy/MM/dd HH:mm:ss"} as :localdatetime {format: "yyyymm"}

由于您的初始数据中没有时区,因此我可能无法使用日期/日期时间,因为他们需要时区。

无耻的插件:我在https://www.youtube.com/watch?v=tNCqzFEq9IY&t=2s

制作了一个处理日期和DataWeave的视频

答案 1 :(得分:0)

您可以使用格式" M / d / yyyy"它应该工作。如果您使用MM,格式化程序需要两个月的数字

payload.DocDate as:date {format:" M / d / yyyy"}