我正在尝试从以下格式转换此日期时间字符串:
'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,原因是:文本'星期三,2017年8月9日20:16:59 +0000'无法在索引8解析
索引8出现在时区偏移量上,但根据java docs,时区被指定为大写Z
答案 0 :(得分:2)
如果有人从谷歌中绊倒了这个...我的格式不正确。这是更正后的版本:
order-date:payload.order.date_created
as :localdatetime {format: "E, dd MMM yyyy HH:mm:ss Z"}
as :string {format: "MMddyyyy"},
答案 1 :(得分:0)
您应该可以使用数据编辑日期格式轻松完成此操作。首先,您需要将其转换为本地日期时间,然后转换为您希望转换为的日期格式。 给出Mulesoft文档中日期格式转换的一些示例 { 日期 : { date1:normalize(" 26-JUL-16")as: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