Mule datamapper DateTime转换为String' yyyy-MM-dd' HH:mm:ss.SSSZ'提供了不可解析的日期。

时间:2014-09-23 09:10:39

标签: datetime mule mule-studio mule-el mule-component

我有一个请求xml,其日期时间字符串为' 2014-09-23T00:00:00.000 + 01:00'我使用Mule 3.5 datamapper将其映射到xs:dateTime类型的元素。 Datamapper内部应用str2Calendar(Str,Str)函数或映射。 所以我编辑了脚本看起来像:

output.dateAndTimeString = str2calendar(input.dateAndTime, "yyyy-MM-dd'T'HH:mm:ss.SSSZ");

日志中的错误是:

java.text.ParseException: Unparseable date "2014-09-23T00:00:00.000+01:00"

Mule数据映射器或我的转换技术有什么问题吗?

1 个答案:

答案 0 :(得分:1)

您可以删除“Z”并使用重载的str2calendar来设置默认时区。此示例使用MEL表达式获取服务器时区:

output.dateAndTimeString = str2calendar(input.dateAndTime,“yyyy-MM-dd'T'HH:mm:ss.SSS”,server.timeZone);