2010-07-15 88 views
1

任何人都可以告訴我以下解決方案: 我在java.I中有一個Util.Date對象,想驗證輸入的日期。我使用所需的格式解析日期對象。如何在Java中驗證Date對象

例如,格式爲「MM/dd/yyyy」,輸入日期爲「23/12/2010」 對於這個日期,我沒有得到任何解析異常,但日期調整爲「11/12/2011「這不應該發生在我的情況。而是我想拋出錯誤信息。

請儘快幫助我。

在此先感謝

回答

4

在DateFormat類,你必須重新設置 「網開一面」 標誌,即

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
sdf.setLenient(false); 
. . . 
sdf.parse(mydate, pos); 
+0

非常感謝。它按我的意願工作。 – asd 2010-07-15 09:27:03

4

必須設置的SimpleDateFormat你的 「手下留情」 模式爲false:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
sdf.setLenient(false); 

默認情況下,它容忍一些錯誤,並嘗試以某種方式解釋它們。

1

根據您的格式表達,我們可以利用的SimpleDateFormat調整月份,日期和年份,代碼如下

public class SimpleDateFormatString2DateParse { 

public static void main(String[] args) { 

    SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy"); 

    try { 
     Date date = formatter.parse("11/12/2011"); 
     System.out.println("Date is : " + date); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    } 
    } 

----- -----輸出

日期是:星期六Nov 12 00:00:00 PST 2011