美好的一天! 我对此系统有疑问。每当我按下注销按钮时,我登录的时间就会在此处而不是当前时间。
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();
这是我尝试登录和注销时的结果。 (请检查图片)
答案 0 :(得分:0)
由于您没有提供完整的代码,所以我只能猜测是什么
timeouttf.setText(dtf.format(logoutTime));
此行要做的是将存储的时间用于预定义变量中,并将其设置为注销时间。
如果要在按注销时获取当前时间,则应使用新时间重置logoutTime变量的值。