我需要使用日期模式「yyyy-MM-dd」解析輸入字符串中的日期,如果日期將以任何其他格式出現,則會引發錯誤。錯誤日期解析使用SimpleDateFormat,Java
這是我的一段代碼,我解析日期:
private void validateDate() throws MyException {
Date parsedDate;
String DATE_FORMAT = "yyyy-MM-dd";
try{
parsedDate = new SimpleDateFormat(DATE_FORMAT).parse(getMyDate());
System.out.println(parsedDate);
} catch (ParseException e) {
throw new MyException(「Error occurred while processing date:」 + getMyDate());
}
}
當我有字符串,如「2011-06-12」作爲輸入MyDate中我會得到輸出「週四9月29日00:00 :00 EEST 2011「,這很好。
當我發送了一個不正確的字符串,如「2011-0612」,我得到了預期的錯誤。
問題開始,當我試圖傳遞一個仍然有兩個「連字符」,但數字數字錯誤的字符串。 例如:
輸入字符串「2011-06-1211」 結果「2014年2月23日星期二00:00:00 EEST」。
輸入字符串「2011-1106-12」 結果「Mon Feb 12 00:00:00 EET 2103」。
我無法更改字符串日期的輸入格式。
我該如何避免它?
我不知道如何「2011年6月12日」作爲myDate輸入我會得到輸出「Thu Sep 29 00:00:00 EEST 2011」是好的。您應該將6月12日作爲輸出 - 不是9月29日... –