gpt4 book ai didi

Java日历算术问题

转载 作者:行者123 更新时间:2023-11-30 06:36:51 24 4
gpt4 key购买 nike

在这里找不到适合我的情况的解决方案。抱歉,如果之前已经回答过这个问题,但我找不到适合我的。

问题:尝试测试用户 session 的 Activity 时间是否超过超时限制。

我正在尝试使用 session 开始时间和当前系统时间并减去它们,如果结果大于超时变量 - 终止 session 。

所以:

 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 分钟,但它是一个可以更改的全局变量。

最佳答案

阅读 API,在 calendar.add 方法中声明您还需要具体说明要添加的字段。示例

calendar.add(Calendar.HOUR, 24);

但是你有点不需要使用日历操作。

只需将 curentTimeInMillis 与开始时间(以毫秒为单位)相减,如果更大(以毫秒为单位)则超时,那么您就有了答案

long refTime = System.currentTimeMillis();
long now = System.currentTimeMillis();
if ( now - refTime > TIMEOUT ) {
... }

关于Java日历算术问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4225971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com