在 jstl 中的 DATE YYYYMMDD 和 TIME HH mm 中添加冒号

Add slash in DATE YYYMMDD and Colon in TIME HHmm in jstl

我从 DB 日期和时间 (${COLL.date},${COLL.time}) 得到两个变量。

两个变量值是这样的201607191234

我想像这样格式化这两个变量 2016/07/1912:34

在我的 JSP 页面中,我有这个库

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

然后我设置了标签

<fmt:parseDate pattern="yyyy/MM/dd" value="${COLL.date}" var="parsedDate" />
<fmt:formatDate value="${parsedDate}" pattern="yyyy/MM/dd" var="dateformat"/>

<p>${dateformat}</p>

这是我的变量 ${COLL.date} (20160719),这是我从我的数据库中获取的。

当我执行上述操作时,出现错误

好的,您已按照 Convert and format a Date in JSP 上的答案中的说明进行操作。你的 parseDate 格式是错误的。而且,你也可以一次性投入时间,所以:

<fmt:parseDate pattern="yyyyMMdd HHmm" value="${COLL.date} ${COLL.time}" var="parsedDate" />
<fmt:formatDate value="${parsedDate}" pattern="yyyy/MM/dd HH:mm" />

如果需要单独输出日期和时间,使用:

<fmt:parseDate pattern="yyyyMMdd HHmm" value="${COLL.date} ${COLL.time}" var="parsedDate" />
<fmt:formatDate value="${parsedDate}" pattern="yyyy/MM/dd" />
<fmt:formatDate value="${parsedDate}" pattern="HH:mm" />