You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mule 4中yyyy-MM-dd HH:mm:ss.SSSSS格式时间转换报错求助

Mule 4 DataWeave时间格式转换错误解决方法

问题原因

错误提示中“索引25处存在未解析文本”,核心原因是时间字符串的小数位数与指定的解析格式不匹配:

  • 原字符串2023-02-07 08:23:00.167000小数点后是6位数字
  • 你使用的解析格式yyyy-MM-dd HH:mm:ss.SSSSS仅定义了5个S(对应5位毫秒/微秒数),格式位数和实际字符串位数不一致,导致解析失败。

DataWeave里的S用于匹配时间的小数部分(毫秒、微秒、纳秒),每个S对应一位数字,6位小数需要用6个S来定义格式。

修正后的代码

%dw 2.0
var dtTime = '2023-02-07 08:23:00.167000'
output application/json
---
{
  crtDate: dtTime as LocalDateTime {format : "yyyy-MM-dd HH:mm:ss.SSSSSS"} as String {format:"yyyy-MM-dd'T'HH:mm:ss"}  
}

效果说明

将解析格式字符串改为yyyy-MM-dd HH:mm:ss.SSSSSS后,就能正确解析原时间字符串;转换为LocalDateTime再格式化为目标格式时,会自动忽略小数部分,最终得到预期结果:2023-02-07T08:23:00

内容的提问来源于stack exchange,提问作者Hasan Limon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 12:45:16