Mule 3中DateTime字段加2小时类型转换报错解决方案问询
报错原因
- 你在
as :datetime时指定的解析格式dd/MM/yyyy HH:mm:ss和输入字符串的实际格式yyyy-MM-dd HH:mm:ss不匹配:输入字符串索引2位置为数字,而解析格式要求该位置为分隔符/,因此直接触发解析失败报错。
修正方案
你需要先使用和输入匹配的格式完成字符串到datetime的转换,加2小时后再按期望格式转回字符串即可,修正后的代码如下:
%dw 1.0 %output application/json --- { dateA: ("2021-04-05 21:29:55" as :datetime {format: "yyyy-MM-dd HH:mm:ss"} + |PT2H|) as :string {format: "yyyy-MM-dd HH:mm:ss"} }
- 逻辑说明:
- 用匹配的
yyyy-MM-dd HH:mm:ss格式将输入字符串转为datetime类型 - 累加2小时的时间间隔
|PT2H| - 将计算完成的datetime按你需要的输出格式转回字符串,即可得到预期结果
- 用匹配的
内容的提问来源于stack exchange,提问作者Devendra
相关产品推荐
相关产品推荐

