java中两个日期之间的时间差异
问题描述:
我必须找到java中两个不同日期对象之间的时间差,如果时间超过5秒,我必须使会话无效。java中两个日期之间的时间差异
这里的情景:
我有设置会话JSP页面每5秒
session.setAttribute("sessionAccessedAt", new Date());
我有被访问的每1秒的另一个JSP页面,
Date date2 = new Date();
现在我必须在另一个jsp中进行比较,我提到并使会话无效,
Date date1 = (Date)session.getAttribute("sessionAccessedAt");
Date date2 = new Date();
Differnce = date2 - date1;
因此,如果差异超过5秒,则会话失效。
答
long difference = date2.getTime() - date1.getTime();
// now you have your answer in milliseconds -
//so divide by 1000 to get the time in seconds
答
if ((date2.getTime() - date1.getTime()) > 5000) { // getTime returns the time in milliseconds
// invalidate
}
但会话超时应该由容器来处理,而不是由你。
PS:这是很容易通过阅读javadoc的回答:http://download.oracle.com/javase/6/docs/api/index.html
答
建立在其他的答案,java.util.concurrent.TimeUnit
使得它很容易为毫秒,秒等之间进行转换......
long differenceInSeconds = TimeUnit.MILLISECONDS.toSeconds(date2.getTime() - date1.getTime());
它的工作....干杯... :) – harishtps 2011-05-06 14:30:08