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

MuleSoft DataWeave日期格式化:添加带三位毫秒的Z后缀

问题:给DateTime字符串添加Z后缀(保留三位毫秒)

输入载荷

{"Date": "2025-09-09T18:03:06.830"}

期望输出

"2025-09-09T18:03:06.830Z"

失败的尝试

尝试1:

%dw 2.0
output application/json
---
payload.Date as String {format: "yyyy-MM-dd'T'HH:mm:ss.SSSZ"}

输出结果缺少Z后缀:

"2025-09-09T18:03:06.830"

尝试2:

%dw 2.0
output application/json
---
payload.Date as String {format: "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"}

同样未成功添加Z后缀。

正确的DataWeave脚本

%dw 2.0
output application/json
---
// 先将字符串转为DateTime类型,再转换到UTC时区,最后格式化输出带Z后缀
(payload.Date as DateTime) >> "UTC" as String {format: "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"}

或者利用时区格式化符X的简洁写法:

%dw 2.0
output application/json
---
(payload.Date as DateTime) >> "UTC" as String {format: "yyyy-MM-dd'T'HH:mm:ss.SSSX"}

原因说明

原载荷中的Date是字符串类型,直接对字符串执行格式转换不会触发时区处理逻辑。必须先将字符串转换为DateTime类型,再指定时区为UTC,最后通过格式化规则添加Z后缀,才能得到符合要求的输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 09:12:07