Mule:Dataweave - 来自字符串的日期格式

Mule: Dataweave - date formatting from strings

我一直在四处寻找,但找不到(或不知道)解决此问题的方法。我是 MEL 的新手,所以请多多关照。 :)

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

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

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

我得到这样的回应: 无法将 :date 强制转换为 :string,原因是:不受支持的字段:MinuteOfHour。

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

我收到这样的回复: 无法将 :string 强制转换为 :date,原因是:Text '2016/11/25 12:00:00' could not be parsed at index 4.

您可以使用 "M/d/yyyy" 应该有效的格式。如果您使用 MM,格式化程序需要两位数字表示月份

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

我会使用:

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

因为您的初始数据中没有时区,所以我可能不会使用 date/datetime,因为他们需要时区。

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

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