登录注销系统时间仍然相同

时间:2019-02-12 06:24:07

标签: java timestamp

美好的一天! 我对此系统有疑问。每当我按下注销按钮时,我登录的时间就会在此处而不是当前时间。

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

请帮助我。我尝试了其他解决方案,但没有用。

这是变量logoutTimeloginTime的起源,因为我使用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();

这是我尝试登录和注销时的结果。 (请检查图片)

as you see, I log in at 2019/02/24 13:38:36 but when I log out three minutes later, it's still the same

1 个答案:

答案 0 :(得分:0)

由于您没有提供完整的代码,所以我只能猜测是什么

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

此行要做的是将存储的时间用于预定义变量中,并将其设置为注销时间。

如果要在按注销时获取当前时间,则应使用新时间重置logoutTime变量的值。