JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL标签库,是日常开发经常使用的,也是众多标签中性能最好的;下面简单介绍一下时间差的应用。
引入部分JSLT标签库如下:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"prefix="fmt"%>
时间是字符串的处理如下:
<c:set var="dateStr"value="2014-11-19 11:15:11"/>
页面输出>>2014-11-19 11:15:11
转化为时间类型(Date对象)如下:
<fmt:parseDate var="nowDate" value="${dateStr}"pattern="yyyy-MM-dd HH:mm:ss"/>
页面输出>>Wed Nov 19 11:15:11 CST 2014
计算时间差
<c:set var="ztime"value="${endDate.time - startDate.time}"/>
时间间隔为毫秒${ztime}
转化为分钟如下:
<fmt:formatNumber value="${ztime/1000/60}"pattern="#0.0"/>
其他时间转化,具体如下:
<fmt:parseDate value="${param.date}" var="date" pattern="yyyy/MM/dd:HH:mm:ss> <fmt:parseDate value="${param.isoDate}" var="isoDate" pattern="yyyyMMdd'T'HHmmss"> The input parameters must match the patterns, or the JSP will thrown an exception. This page does no error handling. Input parameters: Date: 2014/04/01:13:30:00 Java format: Thu Apr 01 13:30:00 CST 2014 isoDate: 20140531T235959 Java format: Mon May 31 23:59:59 CDT 2014 Dates Tag Output Attribute: value; required. Tag has no body. <fmt:formatDate value="${date}" type="both"/> 2014-4-1 13:30:00 <fmt:formatDate value="${isoDate}" type="both"/> 2014-5-31 23:59:59 Attribute: type; optional. Indicates what to print: date, time, or both. <fmt:formatDate value="${date}" type="date"/> 2014-4-1 <fmt:formatDate value="${isoDate}" type="time"/> 23:59:59 Attribute: dateStyle; optional. Varies the date format. <fmt:formatDate value="${isoDate}" type="date" dateStyle="default"/> 2014-5-31 <fmt:formatDate value="${isoDate}" type="date" dateStyle="short"/> 14-5-31 <fmt:formatDate value="${isoDate}" type="date" dateStyle="medium"/> 2014-5-31 <fmt:formatDate value="${isoDate}" type="date" dateStyle="long"/> 2014年5月31日 <fmt:formatDate value="${isoDate}" type="date" dateStyle="full"/> 2014年5月31日 星期一 Attribute: timeStyle; optional. Varies the time format. <fmt:formatDate value="${isoDate}" type="time" timeStyle="default"/> 23:59:59 <fmt:formatDate value="${isoDate}" type="time" timeStyle="short"/> 下午11:59 <fmt:formatDate value="${isoDate}" type="time" timeStyle="medium"/> 23:59:59 <fmt:formatDate value="${isoDate}" type="time" timeStyle="long"/> 下午11时59分59秒 <fmt:formatDate value="${isoDate}" type="time" timeStyle="full"/> 下午11时59分59秒 CDT <fmt:formatDate value="${isoDate}" pattern= "MM/dd/yyyy HH:mm aa" type="time" timeStyle="full"/> 05/31/2014 21:09 下午 Attribute: pattern; optional. Inidcates date/time custom patterns. <fmt:formatDate value="${date}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z"/> 星期四, 四月 1, 2014 13:30:00 -0600 <fmt:formatDate value="${isoDate}" type="both" pattern="d MMM yy, h:m:s a zzzz/> 31 五月 14, 11:59:59 下午中央夏令时
格式模式如下:
d 月中的某一天。一位数的日期没有前导零。 dd 月中的某一天。一位数的日期有一个前导零。 ddd 周中某天的缩写名称,在AbbreviatedDayNames中定义。 dddd 周中某天的完整名称,在DayNames中定义。 M 月份数字。一位数的月份没有前导零。 MM 月份数字。一位数的月份有一个前导零。 MMM 月份的缩写名称,在AbbreviatedMonthNames中定义。 MMMM 月份的完整名称,在MonthNames中定义。 y 不包含纪元的年份。如果不包含纪元的年份小于10,则显示不具有前导零的年份。 yy 不包含纪元的年份。如果不包含纪元的年份小于10,则显示具有前导零的年份。 yyyy 包括纪元的四位数的年份。 gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。 h 12 小时制的小时。一位数的小时数没有前导零。 hh 12 小时制的小时。一位数的小时数有前导零。 H 24 小时制的小时。一位数的小时数没有前导零。 HH 24 小时制的小时。一位数的小时数有前导零。 m 分钟。一位数的分钟数没有前导零。 mm 分钟。一位数的分钟数有一个前导零。 s 秒。一位数的秒数没有前导零。 ss 秒。一位数的秒数有一个前导零。