本文介紹了Java數(shù)據(jù)格式并不是在所有情況下都有效的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我在下面的代碼中犯了什么錯(cuò)誤?如果我們沒(méi)有傳遞像yyyy-MM-dd這樣日期格式,它應(yīng)該拋出分析錯(cuò)誤,它應(yīng)該返回FALSE,但在一個(gè)方案不起作用
2020-08-19–>;工作正常,返回正確
2020-19-08–>;工作正常,返回FALSE
20-08-19–>;這應(yīng)該返回FALSE。它不工作并返回True
我不明白為什么第三種方案會(huì)失敗。
澄清:我在問(wèn):如果我們傳遞輸入:20-19-08
,它應(yīng)該返回FALSE,對(duì)嗎?但這一切都是真的。我的問(wèn)題是,如果我通過(guò)了20,而不是2020,它應(yīng)該返回FALSE。
代碼
public static boolean validateDateFormat(String strDate) {
SimpleDateFormat sdfrmt = new SimpleDateFormat("yyyy-MM-dd");
sdfrmt.setLenient(false);
try {
sdfrmt.parse(strDate);
}
catch (ParseException e) {
return false;
}
return true;
}
推薦答案
20-19-08不遵循格式,因?yàn)槟攴菸粗付樗奈粩?shù)字(盡管您使用的格式化程序會(huì)將20和2020都識(shí)別為有效年份,但不是同一年),并且根據(jù)格式字符串,您的月份值將顯示為19,這是無(wú)效的。
這篇關(guān)于Java數(shù)據(jù)格式并不是在所有情況下都有效的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,