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)
额外注意点
- 确保页面已经正确引入JSTL fmt标签库:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
- 我特意加上了
timeZone="UTC"属性,这样能保证输出时区和你示例里的一致,避免服务器时区差异导致格式不匹配的问题。
这样生成的日期字符串就完全符合DataTables的moment解析要求,排序功能就能正常工作啦!
内容的提问来源于stack exchange,提问作者Bibek Khadka
相关产品推荐
相关产品推荐

