JSTL求时间差

这里有一个需求,就是从数据库取出文章的发布时间(post_time,datatime类型的),然后在 JSP 文件里做运算,如果 当前时间-发布时间<=7天 我们输出一个 NEW,像下图这样的。 实现起来很简单,只需要三四行代码
  1. <jsp:useBean id="nowDate" class="java.util.Date"/> <%--当前时间--%>
  2. <c:set var="interval" value="${nowDate.time - article.postTime.time}"/><%--时间差毫秒数--%>
  3. <fmt:formatNumber value="${interval/1000/60/60/24}" pattern="#0" var="days"/><%--取天数整数--%>
  4. <c:if test="${days <= 7}">NEW</c:if>
注意:${article.postTime} 是文章发布时间   如果以 Java 实现,可以参考下面这段代码
  1. public static void main(String[] args) throws ParseException {
  2.     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  3.     Date postTime = sdf.parse("2017-8-19 08:38:04");
  4.     Date currentTime = new Date();
  5.     long milliseconds = currentTime.getTime()-postTime.getTime();
  6.     int days = (int) (milliseconds/1000/60/60/24); //天数差
  7.     System.out.println(days);
  8. }
  都是获取毫秒数,相减而得的  

发表评论

目前评论:1