这个问题可能对你来讲非常简单,但我是初学者,所以需要你的解答!
 void jButton1_actionPerformed(ActionEvent e) {
    Date d = new Date();
    DateFormat dd =  DateFormat.getDateInstance();
   // SimpleDateFormat dd = new SimpleDateFormat("yyyy-MM-DD");
    String text =jTextField2.getText();
    try{
     d = dd.parse(text);
    }catch(Exception e1){
     JOptionPane.showMessageDialog(null,"你输入的不是一合法日期!");
    }
  }
以上一段程序我是想判断在一个文本框中输入的的日期是否合法,但结果只能判断格式是否合法但不能判断日期是否存在如“2002-13-19”就判断不出来,为什么?用我注释掉的那行也不行!

解决方案 »

  1.   

    to hoxisoft(hoxisoft)你是什么意识?!
      

  2.   

    添加:dateFormat.setLenient(false);
    否则系统会自动将2002-13-19转换成2003-01-19的    
    改正如下:
        DateFormat dd;
        dd = new SimpleDateFormat("yyyy-MM-dd");
        dd.setLenient(false);
        try {
          Date d = dd.parse(text);
        ……
      

  3.   

    这近出差,一直没来,今天看了 alphazhao(绿色咖啡) 朋友的回答,试了一下,但只能判断月份是否合法,不能判断日是否合法,如2002-12-32就判断不出来错误!
      

  4.   

    我明白了,用“yyyy-MM-dd”不能用“yyyy-MM-DD”