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

Mule 4字符串转日期格式报错求助:无法转换220907为日期

日期字符串转Date类型报错的解决方法

问题重现

输入数据:

{
    "Date" : "220907"
}

使用的DataWeave代码:

output application/java
---
payload.Date as String {format: "YYMMDD"} as Date{format: "YYMMDD"}

报错信息:

Cannot coerce String (220907) to Date, caused by: Text '220907' could not be parsed: Unable to convert 220907 to Date.
4| payload.Date as String {format: "YYMMDD"} as Date{format: "YYMMDD"}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Trace:
at main::main (line: 4, column: 1)

问题原因

你用错了日期格式符:DataWeave里大写的YY是基于周的年份(Week-based Year),和你输入的普通公历年份格式不匹配。输入的220907是「两位数年份+两位数月份+两位数日期」,需要用小写的yy来匹配两位数公历年份。

另外,payload.Date本身就是字符串,没必要多一步as String {format: "YYMMDD"}的转换,这步完全多余。

修正后的代码

output application/java
---
payload.Date as Date {format: "yyMMdd"}

格式符说明

  • yy:匹配两位数的公历年份(22对应2022年)
  • MM:匹配两位数的月份(09对应9月)
  • dd:匹配两位数的日期(07对应7日)

运行这段代码后,就能成功把220907转换成对应的2022-09-07日期对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 00:15:34