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

JSTL格式化DB日期与时间报错:YYYYMMDD转YYYY/MM/DD、HHmm转HH:mm

我来帮你排查下问题哈~你现在的错误根源是解析日期时用错了匹配格式:你的${COLL.date}值是20160719(无分隔符的纯数字日期),但你用yyyy/MM/dd作为fmt:parseDate的pattern,这会导致解析失败,因为格式完全不匹配。

正确的日期格式化代码

先按照原始数据的格式(yyyyMMdd)解析日期,再重新格式化为带斜杠的样式:

<!-- 第一步:按原数据格式解析日期 -->
<fmt:parseDate pattern="yyyyMMdd" value="${COLL.date}" var="parsedDate" />
<!-- 第二步:格式化为目标样式 yyyy/MM/dd -->
<fmt:formatDate value="${parsedDate}" pattern="yyyy/MM/dd" var="formattedDate"/>
<p>${formattedDate}</p>

时间格式化同样适用这个逻辑

你的${COLL.time}值是1234(属于HHmm格式),同样需要先解析再格式化:

<!-- 第一步:按原时间格式解析 -->
<fmt:parseDate pattern="HHmm" value="${COLL.time}" var="parsedTime" />
<!-- 第二步:格式化为目标样式 HH:mm -->
<fmt:formatDate value="${parsedTime}" pattern="HH:mm" var="formattedTime"/>
<p>${formattedTime}</p>

小提示:如果${COLL.time}是数字类型(比如Integer),可以用${String.valueOf(COLL.time)}确保传入的是字符串格式,避免解析异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:08:51