JSTL 时间加减问题 谢谢进来看看

microns 2008-10-26 05:38:16

<c:set var="datenow" value="<%=new Date()%>"/>
${search.t_time}//插入时间
<c:if test="${datenow}-${search.t_time}<=24">
<img src="Image/new.gif"></c:if>

我想做一个时间提示,现在时间减去插入时间小于一天的显示一个new.gif图片提示,上面这样写不行,该怎么写呢?谢谢回答
...全文
855 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
thislovebyyou 2011-10-11
  • 打赏
  • 举报
回复
有可能有点2,获取当前时间还是从服务端获取比较好!
is0501xql 2008-12-31
  • 打赏
  • 举报
回复
<c:set var="datenow" value="<%=System.currentTimeMillis()%>" />
<c:if test="${datenow - search.t_time.time <= 3600*24*3L}">
<img src="Image/new.gif"><!--3天内提示为new-->
</c:if>
microns 2008-10-27
  • 打赏
  • 举报
回复
交易流水号 房间名称 客户昵称 交易时间
51 标准间 micron 2008-10-27 10:13:22 NEW
实现功能就是当前时间-交易时间小于24个小时的用NEW提示客户
microns 2008-10-27
  • 打赏
  • 举报
回复

<c:set var="datenow" value="<%=new Date()%>" />
<fmt:formatDate value="${datenow}" pattern="yyyy-MM-dd hh:mm:ss" var="nowtime"/>
${search.insertTime}//插入时间,Date型
<c:if test="${nowtime}-${search.insertTime} <=86400000L}">
<img src="Image/new.gif"></c:if>

这样还是不行,我估计是 <=86400000L这里的问题,该小于什么呢?谢谢
Landor2004 2008-10-27
  • 打赏
  • 举报
回复
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<fmt:formatDate value="${search.t_time}" pattern="yyyy-MM-dd hh:mm:ss" />
microns 2008-10-27
  • 打赏
  • 举报
回复
我是想在JSTL里面处理
${search.t_time} 打印出来的格式是:2008-10-27 10:13:22 (Date类型的)
yuanjun_xf 2008-10-27
  • 打赏
  • 举报
回复
恩,其实楼组可以再数据库中做一个标示!来过滤这个
Leonhe2022 2008-10-26
  • 打赏
  • 举报
回复
哦,这样就可以转换成long类型的了。



String search_time="20081010";
//按照日期格式加参数,我假设的是yyyyMMdd
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyyMMdd");
try {
long searchtime=dateFormat.parse(search_time).getTime();
System.out.println(searchtime);
} catch (ParseException e) {
e.printStackTrace();
}

microns 2008-10-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kreadk 的回复:]
${search.t_time} 是Date类型还是字符串啊??
[/Quote]字符串类型
Leonhe2022 2008-10-26
  • 打赏
  • 举报
回复
${search.t_time} 是Date类型还是字符串啊??
goosman 2008-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kreadk 的回复:]
Date是对象,是不能进行运算的,需要转换:
System.currentTimeMillis当前时间,long类型。
86400000是一天的毫秒数,你要把search.t_time也转换成当前的毫秒数就可以实现



HTML code
<c:set var="datenow" value="<%=System.currentTimeMillis()%>" />
${search.t_time}//插入时间
<c:if test="${datenow}-${search.t_time}<=86400000L…
[/Quote]

强.....

楼主可以试下在数据库的时候过滤掉嘛.
Leonhe2022 2008-10-26
  • 打赏
  • 举报
回复
Date是对象,是不能进行运算的,需要转换:
System.currentTimeMillis当前时间,long类型。
86400000是一天的毫秒数,你要把search.t_time也转换成当前的毫秒数就可以实现



<c:set var="datenow" value="<%=System.currentTimeMillis()%>" />
${search.t_time}//插入时间
<c:if test="${datenow}-${search.t_time}<=86400000L">
<img src="Image/new.gif">
</c:if>

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧