Время выхода из системы - PullRequest
0 голосов
/ 12 февраля 2019

Добрый день! У меня проблема с этой системой.Каждый раз, когда я нажимаю кнопку выхода из системы, вместо текущего времени отображается время входа в систему.

 String logout = usernameTF.getText();
            if (logout.contains(name))
            {
                usernameTF.setText("");
                timeouttf.setText(dtf.format(logoutTime));
                sessiontimetf.setText(Integer.toString((int) Duration.between(loginTime, logoutTime).getSeconds()));
                username.clear();
                loginbtn.setEnabled(true);
                resetbtn.setEnabled(true);
            }
            else
            {
                usernameTF.setText("");
                JOptionPane.showMessageDialog(null, "WRONG INFORMATION", "ERROR", JOptionPane.ERROR_MESSAGE);
            }

Пожалуйста, помогите мне с этим.Я пробовал другие решения, но они не работали.

Это происхождение переменных logoutTime и loginTime, так как я создал эту программу с JFrame.

private static final DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
private static final DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
LocalDateTime loginTime = LocalDateTime.now();
LocalDateTime logoutTime = LocalDateTime.now();

это результат, когда я пытаюсь войти и выйти.(пожалуйста, посмотрите на изображение)

как видите, я вхожу в систему в 2019/02/24 13:38:36, но когда я выхожу через три минуты, это все равно

1 Ответ

0 голосов
/ 12 февраля 2019

, так как вы не предоставили весь код, я могу только догадываться, что

 timeouttf.setText(dtf.format(logoutTime));

эта строка берет сохраненное время в предопределенной переменной и устанавливает его как время выхода из системы.

Если вы хотите получить текущее время, когда вы нажимаете logout, вам следует сбросить значение переменной logoutTime с новым временем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...