เมนู

การตรวจสอบความถูกต้อง/การมีอยู่ของวันที่ Java

สารบัญ

ชวา วันที่การตรวจสอบความถูกต้อง/มีอยู่ 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")); }

◆ผลลัพธ์เอาท์พุต

จริงเท็จเท็จ
  • URL をkoピーしました!
สารบัญ