สารบัญ
ชวา วันที่การตรวจสอบความถูกต้อง/มีอยู่ Calendar.setLenient()
ชวาในการตรวจสอบความถูกต้อง/การมีอยู่ของวันที่นี่คือโปรแกรมตัวอย่างที่ทำสิ่งนี้
ตรวจสอบว่าสตริงวันที่ที่ระบุ (yyyy/MM/dd หรือ yyyy-MM-dd) มีอยู่ในปฏิทินหรือไม่
java.text.DateFormatระดับตั้งค่าผ่อนผัน()โดยการระบุเท็จ คุณสามารถดำเนินการแยกวิเคราะห์วันที่ที่เข้มงวดได้ (*คลาส DateFormat อยู่ภายในsetLenient() ในคลาส java.util.Calendarกำลังโทรมา )
วิธีการตรวจสอบนี้ใช้ประโยชน์จากข้อเท็จจริงที่ว่า ถ้าคุณเรียกใช้วิธี parse() ด้วยวันที่ที่ไม่ถูกต้องหรือวันที่ไม่มีอยู่ ParseException จะเกิดขึ้น
โปรแกรมตัวอย่าง
/** * ตรวจสอบความถูกต้องของวันที่ * ส่งคืนว่าสตริงวันที่ที่ระบุ (yyyy/MM/dd หรือ yyyy-MM-dd) * มีอยู่ในปฏิทินหรือไม่ * @param strDate สตริงเพื่อตรวจสอบ * @return จริงหากมีวันที่อยู่ */ public static boolean checkDate(String strDate) { if (strDate == null || strDate.length() != 10) { Throw new IllegalArgumentException ( "อาร์กิวเมนต์ string ["+ strDate +"]" + "is invalid."); } strDate = strDate.replace('-', '/'); DateFormat format = DateFormat.getDateInstance(); // ตั้งค่าว่าจะดำเนินการวันที่ที่เข้มงวดหรือไม่ /วิเคราะห์เวลา format.setLenient(false); try { format.parse(strDate); return true; } catch (ข้อยกเว้น e) { return false; } }
ผลการดำเนินการ
◆ตัวอย่างการดำเนินการ
โมฆะคงสาธารณะ main (String [] args) { System.out.println (checkDate ("2007-01-01")); System.out.println (checkDate ("2007/02/31")); System.out .println(checkDate("aaaa/02/31")); }
◆ผลลัพธ์เอาท์พุต
จริงเท็จเท็จ