J'ai du mal à trouver une solution pour ma situation ici. Désolé si cela a déjà été répondu mais je n'ai pas pu trouver celui qui a fonctionné pour moi. Problème: Essayer de tester si une session d'utilisateur a été active pendant plus longtemps que la limite de délai d'attente. J'essaie d'utiliser l'heure de début de la session et l'heure actuelle du système et de les soustraire et si le résultat est supérieur au délai d'attente var-kill la session.Problème arithmétique du calendrier Java
Alors:
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
}
}
Je reçois évidemment un message d'erreur sur la ligne activeTime.add mais je ne suis pas certain de l'approche nécessaire ici. Toute aide serait super merci.
Le délai d'attente est actuellement défini sur 15 minutes, mais il s'agit d'une variable globale pouvant être modifiée.
Quel est le message d'erreur? En outre, je ne vois pas pourquoi l'appel setTime est nécessaire ici: Calendar currentSysTime = Calendar.getInstance(); currentSysTime.setTime (currentSysTime.getTime()); –