Mule Dataweave日期时间从完全变为短

问题描述 投票:0回答:2

我试图从这种格式转换此日期时间字符串:

'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.

java datetime mule esb
2个回答
2
投票

如果有人从谷歌中绊倒这个...我的格式不正确。这是更正后的版本:

order-date:payload.order.date_created 
as :localdatetime {format: "E, dd MMM yyyy HH:mm:ss Z"} 
as :string {format: "MMddyyyy"},

0
投票

您应该能够使用数据编辑日期格式轻松完成此操作。首先,您需要将其转换为本地日期时间,然后转换为您希望转换为的日期格式。从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

© www.soinside.com 2019 - 2024. All rights reserved.