2012-10-17 4 views
1

나는 로그인시 응용 프로그램에 대한 만료 날짜를 확인하도록되어 동작 버튼이 있습니다캘린더되지 검증 월에만 일 년

public void actionPerformed(ActionEvent ae) { 
    Calendar expiredate = Calendar.getInstance(); 
    expiredate.set(2012, 10, 10); 
    if (ae.getSource() == button) { 
    char[] temp_pwd = t_pass.getPassword(); 
    String pwd = null; 
    pwd = String.copyValueOf(temp_pwd); 

    if (db.checkLogin(t_name.getText(), pwd)) { 
     try { 
     if (Calendar.getInstance().after(expiredate)) { 
      JOptionPane.showMessageDialog(null, "License has Expired\n Please Re-new the License from the Provider", "Re-new License", JOptionPane.ERROR_MESSAGE); 
      t_name.setText(""); 
      t_pass.setText(""); 
      t_name.requestFocus(); 
      return; 
     } 
     JOptionPane.showMessageDialog(null, "You have logged in successfully. Click OK to Continue", "Success", 
     JOptionPane.INFORMATION_MESSAGE); 
     MainFrame page = new MainFrame(); 
     page.setVisible(true); 
     setVisible(false); 
     } catch(Exception ai){ 
     JOptionPane.showMessageDialog(null, ai, "Exception", 
     JOptionPane.INFORMATION_MESSAGE); 
     } 
    } else { 
     JOptionPane.showMessageDialog(null, "Login failed!\nWrong Username or password", "Failed!!", 
     JOptionPane.ERROR_MESSAGE); 
     t_name.setText(""); 
     t_pass.setText(""); 
     t_name.requestFocus(); 
     return; 
    } 
    }//if 
}//method 

문제는 시스템 날짜는 점이다 10월 17일 2012을 분명히 로그인은 여전히 ​​발생합니다. 그러나 2012 년에서 2011 년을 만료 날짜로 변경하면 라이센스 유효성 검사가 수행됩니다. 시스템이 2012 년 10 월 10 일의 날짜를 무시하는 문제는 무엇입니까?

+1

(!) 참고 도움 :'expiredate.set (2012, 09, 10)를 사용하며 2012년 10월 10일을 표현하는'. 월은 0 기준입니다 ... –

+0

당신이 옳다고 생각합니다. 나는 달이 0에서 계산된다는 것을 깨닫지 못했습니다. 감사합니다. – ErrorNotFoundException

답변

5

월 상수 10은 11 월입니다. NOVEMBER = 10 그래서 11 월을 월로 설정합니다.

당신은 달 자바 0에서 시작하기 때문에

expiredate.set(2012, Calendar.OCTOBER, 10); 

항상 이러한 사용에 대한 Calendar에서 제공 달 상수를 사용하여 사용해야합니다. 따라서 혼동을 피할 수 있습니다.

1

문제는 Calender의 월가가 0부터 시작한다는 것입니다. 즉, 만료일은 11 월 10 일입니다. 10 월

10은 다음과 같습니다

expiredate.set(2012, 9 , 10); 

희망이

+0

예. 도움이 되었어요. – ErrorNotFoundException

관련 문제