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

DataWeave 2.0如何将带时分秒的时间戳格式化为yyyy-mm-dd日期

你原来的写法存在两处错误:

  1. 格式符大小写错误:yyyy-mm-dd中的小写mm代表分钟,月份需要使用大写的MM
  2. 解析格式和输入字符串不匹配:你输入的时间戳字符串包含时分秒和7位小数秒,不能直接用yyyy-MM-dd的格式将其解析为LocalDateTime类型

正确的写法可以参考如下示例:

%dw 2.0
output application/json
var timeStamp = "2021-11-11 00:32:47.5220000"
---
// 先按输入字符串的实际格式解析为LocalDateTime,再转换为指定格式的Date
timeStamp as LocalDateTime {format: "yyyy-MM-dd HH:mm:ss.SSSSSSS"} as Date {format: "yyyy-MM-dd"}

如果你只是需要输出字符串格式的日期,也可以直接对解析后的时间对象做格式化:

%dw 2.0
output application/json
var timeStamp = "2021-11-11 00:32:47.5220000"
---
timeStamp as LocalDateTime {format: "yyyy-MM-dd HH:mm:ss.SSSSSSS"} format "yyyy-MM-dd"

补充说明常用日期格式符区分,避免后续踩坑:

  • yyyy:4位公历年
  • MM:2位月份(大写,和分钟做区分)
  • dd:2位当月日期
  • HH:24小时制小时
  • mm:2位分钟(小写)
  • ss:秒
  • S:秒的小数位,有几位就写几个S即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 19:24:03