我试图从这种格式转换此日期时间字符串:
'Wed, 09 Aug 2017 20:16:59 +0000'
对于这种格式:
'08092017'
我正在使用dataweave。这是我的代码:
order-date:payload.order.date_created
as :localdatetime {format: "E, dd M yyyy hh:mm:ss Z"}
as :string {format: "MMddyyyy"},
我仍然得到错误 - 不能强制a:字符串到:localdatetime,由以下原因导致:文本'Wed,09 Aug 2017 20:16:59 +0000'无法在索引8处解析
索引8出现在时区偏移量上,但根据java docs,时区被指定为大写Z.
如果有人从谷歌中绊倒这个...我的格式不正确。这是更正后的版本:
order-date:payload.order.date_created
as :localdatetime {format: "E, dd MMM yyyy HH:mm:ss Z"}
as :string {format: "MMddyyyy"},
您应该能够使用数据编辑日期格式轻松完成此操作。首先,您需要将其转换为本地日期时间,然后转换为您希望转换为的日期格式。从Mulesoft文档{date:{date1:normalize(“26-JUL-16”)中提供日期格式转换的一些示例:date {format:“d-MMM-yy”} as:string {format:“yyyy-MM -dd“},date2:normalize(”26 / JUL / 16“)as:date {format:”d-MMM-yy“} as:string {format:”yyyy-MM-dd“},date3:normalize( “26.JUL.16”)as:date {format:“d-MMM-yy”} as:string {format:“yyyy-MM-dd”}}}
请阅读以下链接以了解日期格式。
https://docs.mulesoft.com/mule-user-guide/v/3.8/dataweave-examples#parse-dates-with-different-separators https://docs.mulesoft.com/mule-user-guide/v/3.8/dataweave-operators#date-time-operations