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 
+0

它的工作....干杯... :) – harishtps 2011-05-06 14:30:08

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());