怎么用java判斷字符是否是日期?這篇文章運用了實例代碼展示,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)是一家專業(yè)提供鹽湖企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都做網(wǎng)站、H5建站、小程序制作等業(yè)務(wù)。10年已為鹽湖眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。
1、使用正則判斷是否日期
public boolean isDate(String date) { /** * 判斷日期格式和范圍 */ String rexp = "^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))"; Pattern pat = Pattern.compile(rexp); Matcher mat = pat.matcher(date); boolean dateType = mat.matches(); return dateType; }
2、使用SimpleDateFormat類設(shè)置日期格式,然后通過拋出異常來判斷
public boolean isValidDate(String str) { boolean convertSuccess = true; // 指定日期格式為四位年/兩位月份/兩位日期,注意yyyy/MM/dd區(qū)分大小寫; //如果想判斷格式為yyyy-MM-dd,需要寫成-分隔符的形式 SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm"); try { format.setLenient(false); format.parse(str); } catch (ParseException e) { // e.printStackTrace(); // 如果拋出ParseException或者NullPointerException,就說明格式不對 convertSuccess = false; } return convertSuccess; }
到此為止, 關(guān)于java判斷字符是否是日期的方法有了一個基礎(chǔ)的認(rèn)識, 但是對于具體的使用方法還是需要多加鞏固和練習(xí),如果想了解更多相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊。