目錄
Java 日期有效性/存在性檢查 Calendar.setLenient()
Java在日期有效性/存在性檢查這是執行此操作的範例程式。
檢查日曆上是否存在指定的日期字串(yyyy/MM/dd 或 yyyy-MM-dd)。
java.text.DateFormat班級設定寬鬆()透過指定 false,可以執行嚴格的日期解析。 (*DateFormat 類別在內部java.util.Calendar 類別中的 setLenient()正在打電話。 )
此檢查方法利用以下事實:如果使用無效日期或不存在的日期呼叫 parse() 方法,則會發生 ParseException。
範例程式
/** * 執行日期有效性檢查。 * 傳回指定的日期字串(yyyy/MM/dd 或 yyyy-MM-dd) * 是否存在於日曆中。 * @param strDate 要檢查的字串* @return true 如果日期存在*/ public static boolean checkDate(String strDate) { if (strDate == null || strDate.length() != 10) { throw new Illegal "ArgumentException (ArgumentException (ArgumentException) { throw new Illegal "ArgumentException (ArgumentException (ArgumentException) { throw new Illegal "ArgumentException (ArgumentException(參數string ["+ strDate +"]" + "無效。"); } strDate = strDate.replace('-', '/'); DateFormat format = DateFormat.getDateInstance(); // 設定是否執行嚴格日期/時間分析。 format.setLenient(false); try { format.parse(strDate); return true; } catch (Exception e) { return false; } }
執行結果
◆執行範例
公共靜態無效主(字串[] args){ System.out.println(checkDate(“2007-01-01”)); System.out.println(checkDate(“2007/02/31”)); System. out .println(checkDate("aaaa/02/31")); }
◆輸出結果
真假假