JSTL求时间差

这里有一个需求,就是从数据库取出文章的发布时间(post_time,datatime类型的),然后在 JSP 文件里做运算,如果 当前时间-发布时间<=7天 我们输出一个 NEW,像下图这样的。

JSTL求时间差

实现起来很简单,只需要三四行代码

  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. }

 

都是获取毫秒数,相减而得的

 

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
言曌

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen: