我正在開發一個項目,我需要根據長度和模式驗證多個日期。我正在使用簡單的日期格式,並發現許多問題。我的要求是嚴格允許日期字符串匹配「yyyy/MM/dd」和嚴格的10個字符。簡單日期格式問題Java
以下代碼未給出各種測試輸入字符串的預期結果。
public static boolean checkformat(String dateString){
boolean flag = false;
Date d1 = null;
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
format.setLenient(false);
try {
d1 = format.parse(dateString);
flag=true;
} catch (ParseException ex) {
ex.printStackTrace();
return false;
}
return flag;
}
上面的代碼返回關於各種輸入,比如「99/03/1」「真」(應0099/03/01)和99/1/1(應當0099/01/1) 。由於輸入的字符串不是從一個來的,所以我不能執行驗證,然後再將它們傳遞給此方法。請建議對dateformat(「yyyy/MM/dd」)採取非常嚴格的措施。
我已經嘗試過這個實現,並且它沒有像上面提到的輸入那樣工作。 – Kiran