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

JSTL fmt标签输出日期格式适配DataTables排序问题咨询

解决JSTL fmt标签生成DataTables兼容日期格式的问题

嘿,我之前刚好碰到过一模一样的需求!其实不用再依赖dateStyle和timeStyle这些预设格式,直接用fmt:formatDate的pattern属性指定完全匹配DataTables要求的自定义格式就可以了。

具体实现代码

把你原来的标签替换成下面这样就行:

<fmt:formatDate value="${now}" pattern="MMMM dd, YYYY hh:mm:ss aa z" timeZone="UTC" />

格式参数对应详解

这个pattern里的每一部分完全对应你需要的MMMM dd, YYYY hh:mm:ss aa z规则:

  • MMMM:输出完整月份名称(比如August)
  • dd:两位数字的日期(比如23)
  • YYYY:四位数字的年份(比如2017)
  • hh:12小时制的小时数(比如10)
  • mm:两位数字的分钟(比如52)
  • ss:两位数字的秒数(比如09)
  • aa:AM/PM标识(比如AM)
  • z:时区缩写(比如UTC)

额外注意点

  1. 确保页面已经正确引入JSTL fmt标签库:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
  1. 我特意加上了timeZone="UTC"属性,这样能保证输出时区和你示例里的一致,避免服务器时区差异导致格式不匹配的问题。

这样生成的日期字符串就完全符合DataTables的moment解析要求,排序功能就能正常工作啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:35:24