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

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半缘修道半缘君丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值