整理一下JSP页面获取及处理数据库日期的几种方式
文章源自亦枫博客-https://yflad.cn/2271.html
数据库日期字段类型为[code]Date[/code]时,实体类为“java.util.Date”页面默认获取的是“格林威治时间”。解决方法也很简单文章源自亦枫博客-https://yflad.cn/2271.html
文章源自亦枫博客-https://yflad.cn/2271.html
文章源自亦枫博客-https://yflad.cn/2271.html
方法一:sql.Date
实体类设置类型为“java.sql.Date”,JSP页面EL表达式直接获取即可文章源自亦枫博客-https://yflad.cn/2271.html
文章源自亦枫博客-https://yflad.cn/2271.html
当然你还可以指定它的格式文章源自亦枫博客-https://yflad.cn/2271.html
<fmt:formatDate value="${list.loadTime}" pattern="yyyy-MM-dd HH:mm:ss">
如果你遇到错误文章源自亦枫博客-https://yflad.cn/2271.html
“XXX (line: 84, column: 28) According to TLD or attribute directive in tag file, attribute value does not accept any expressions”文章源自亦枫博客-https://yflad.cn/2271.html
文章源自亦枫博客-https://yflad.cn/2271.html
那是你uri地址引入错误的原因。文章源自亦枫博客-https://yflad.cn/2271.html
JSP页面引入的 uri地址如下:文章源自亦枫博客-https://yflad.cn/2271.html
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
文章源自亦枫博客-https://yflad.cn/2271.html
文章源自亦枫博客-https://yflad.cn/2271.html
也可以在去掉[code]pattern[/code],加个type属性。提供一下其他的格式:文章源自亦枫博客-https://yflad.cn/2271.html
<%-- 2019-4-22 17:30:07 --%> <fmt:formatDate value="${list.loadTime}" type="both"/>
文章源自亦枫博客-https://yflad.cn/2271.html
<%-- 2019-4-22 --%> <fmt:formatDate value="${list.loadTime}" type="date"/>
文章源自亦枫博客-https://yflad.cn/2271.html
<%-- 17:30:07 --%> <fmt:formatDate value="${list.loadTime}" type="time"/>
文章源自亦枫博客-https://yflad.cn/2271.html
<%-- 19-4-22 --%> <fmt:formatDate value="${list.loadTime}" type="date" dateStyle="short"/>
文章源自亦枫博客-https://yflad.cn/2271.html
<%-- 2019年4月22日 --%> <fmt:formatDate value="${list.loadTime}" type="date" dateStyle="long"/>
文章源自亦枫博客-https://yflad.cn/2271.html
<%-- 2019年4月22日 星期一 --%> <fmt:formatDate value="${list.loadTime}" type="date" dateStyle="full"/>
<%-- 17:30:07 --%> <fmt:formatDate value="${list.loadTime}" type="time" timeStyle="default"/>
<%-- 下午5:30 --%> <fmt:formatDate value="${list.loadTime}" type="time" timeStyle="short"/>
<%-- 17:30:07 --%> <fmt:formatDate value="${list.loadTime}" type="time" timeStyle="medium"/>
<%-- 下午05时30分07秒 --%> <fmt:formatDate value="${list.loadTime}" type="time" timeStyle="long"/>
<%-- 下午05时30分07秒 CST --%> <fmt:formatDate value="${list.loadTime}" type="time" timeStyle="full"/>
<%-- 星期一,四月22,2019 17:30:07 +0800 --%> <fmt:formatDate value="${list.loadTime}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z/>
<%-- 22四月19,5:30:7下午中国标准时间 --%> <fmt:formatDate value="${list.loadTime}" type="both" pattern="d MMM yy, h:m:s a zzzz/>
方法二:sql.Date
设置实体类日期类型为“java.sql.Date”
默认显示日期为:yyyy-MM-dd。也可以根据上面指定日期格式
方法三:Timestamp
设置实体类日期类型为“Timestamp”
默认显示日期是[code]2019-04-22 17:30:07.0[/code]精确到毫秒的,也就是后面会多个“.0”。也可以根据上面指定日期的格式