数据库日期字段类型为Date
时,实体类为“java.util.Date”页面默认获取的是“格林威治时间”。解决方法也很简单
方法一:sql.Date
实体类设置类型为“java.sql.Date”,JSP页面EL表达式直接获取即可
当然你还可以指定它的格式
<fmt:formatDate value="${list.loadTime}" pattern="yyyy-MM-dd HH:mm:ss">
如果你遇到错误
“XXX (line: 84, column: 28) According to TLD or attribute directive in tag file, attribute value does not accept any expressions”
那是你uri地址引入错误的原因。
JSP页面引入的 uri地址如下:
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
也可以在去掉pattern
,加个type属性。提供一下其他的格式:
<%-- 2019-4-22 17:30:07 --%> <fmt:formatDate value="${list.loadTime}" type="both"/>
<%-- 2019-4-22 --%> <fmt:formatDate value="${list.loadTime}" type="date"/>
<%-- 17:30:07 --%> <fmt:formatDate value="${list.loadTime}" type="time"/>
<%-- 19-4-22 --%> <fmt:formatDate value="${list.loadTime}" type="date" dateStyle="short"/>
<%-- 2019年4月22日 --%> <fmt:formatDate value="${list.loadTime}" type="date" dateStyle="long"/>
<%-- 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”
默认显示日期是2019-04-22 17:30:07.0
精确到毫秒的,也就是后面会多个“.0”。也可以根据上面指定日期的格式
继续阅读
- 扫扫关注公众号
-
- 扫扫体验小程序
-