【发布时间】:2010-11-19 14:32:39
【问题描述】:
在这里找不到适合我的情况的解决方案。抱歉,如果之前已经回答过这个问题,但我找不到适合我的答案。
问题:尝试测试用户会话的活动时间是否超过超时限制。
我正在尝试使用会话开始时间和当前系统时间并减去它们,如果结果大于超时变量 - 终止会话。
所以:
for (LogSession logSession : sessionLogList) {
Calendar sessionStartTime = logSession.getStartTime();
Calendar currentSysTime = Calendar.getInstance();
currentSysTime.setTime(currentSysTime.getTime());
Calendar activeTime = Calendar.getInstance();
activeTime.setTime(sessionStartTime.getTime());
activeTime.add(activeTime.getTime(), - currentSysTime.getTime());
if ( activeTime.getTime() > timeoutLimit) {
// Do something
}
}
我显然在 activeTime.add 行上收到了一条错误消息,但我不确定这里需要的方法。任何帮助都会非常感谢。
超时当前设置为 15 分钟,但它是一个可以更改的全局变量。
【问题讨论】:
-
错误信息是什么?另外,我不明白为什么这里需要 setTime 调用: Calendar currentSysTime = Calendar.getInstance(); currentSysTime.setTime(currentSysTime.getTime());
标签: java time calendar timeout math