汇总:JSTL时间操作

时间格式化,首先引入<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

1、获取当前时间:

<jsp:useBean id="now" class="java.util.Date" /> 
<fmt:formatDate value="${now}" type="both" dateStyle="long" pattern="yyyy-MM-dd" var="nowDate"/>

2、两个时间比较大小:

${nowDate>yesterdayDate}  //两个是Date格式的时间,可以直接直接通过'>'、'<'、'=='比较大小

3、计算两个日期之间相差几天:

//假设有两个Date格式的时间${nowDate}、${expiredDate}
<c:set var="timeMinus" value="${expiredDate.time - nowDate.time}"/>
<fmt:formatNumber value="${timeMinus/1000/3600/24}" pattern="#0" var="daysLeft"/>
剩余时间为:${daysLeft}

4、移动端需要使用到时间控件,<input type="date" />是一个很好的选择,但是奈何兼容性不是很好。同时目前市面上的时间控件都不是很适合移动端,能想到的最简单的办法就是自己写一个喽:

//步骤一:JSTL获取当前时间
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> //引入库

<jsp:useBean id="now" class="java.util.Date" /> 
<fmt:formatDate value="${now}" type="both" dateStyle="long" pattern="yyyy-MM-dd"/> //直接输出

<fmt:formatDate value="${now}" type="both" dateStyle="long" pattern="yyyy" var="nowYear"/>
${nowYear} //间接赋值输出

//步骤二:JSTL创建数组并进行遍历
<c:forEach var="i" begin="1900" end="${nowYear}" step="1">
      ${i}年
</c:forEach>

//步骤三:JSTL倒叙遍历
//网上没有找到解决方案,我唯一能想到的方法就是:
<c:forEach var="i" begin="1900" end="${nowYear}" step="1">
      ${1900+nowYear-i}年
</c:forEach>


你可能感兴趣的:(JSTL时间控件,JSTL时间操作)