Inhaltsverzeichnis
Java DatumGültigkeits-/Existenzprüfung Calendar.setLenient()
JavaInGültigkeits-/Existenzprüfung des DatumsDies ist ein Beispielprogramm, das dies tut.
Überprüft, ob die angegebene Datumszeichenfolge (jjjj/MM/tt oder jjjj-MM-tt) im Kalender vorhanden ist.
java.text.DateFormatKlassesetLenient()Durch die Angabe von „false“ kann eine strikte Datumsanalyse durchgeführt werden. (*DateFormat-Klasse ist internsetLenient() in der Klasse java.util.Calendarruft an. )
Diese Prüfmethode macht sich die Tatsache zunutze, dass eine ParseException auftritt, wenn Sie die Methode parse() mit einem ungültigen oder nicht vorhandenen Datum aufrufen.
Beispielprogramm
/** * Führt eine Datumsgültigkeitsprüfung durch. * Gibt zurück, ob die angegebene Datumszeichenfolge (jjjj/MM/tt oder jjjj-MM-tt) * im Kalender vorhanden ist. * @param strDate Zu überprüfender String * @return true, wenn Datum vorhanden ist */ public static boolean checkDate(String strDate) { if (strDate == null || strDate.length() != 10) { throw new IllegalArgumentException ("Das Argument string ["+ strDate +"]" + "is invalid."); } strDate = strDate.replace('-', '/'); DateFormat format = DateFormat.getDateInstance(); // Legen Sie fest, ob ein striktes Datum ausgeführt werden soll /Zeitanalyse. format.setLenient(false); try { format.parse(strDate); return true; } Catch (Exception e) { return false; } }
Ausführungsergebnis
◆Ausführungsbeispiel
public static void main(String[] args) { System.out.println(checkDate("2007-01-01")); System.out.println(checkDate("2007/02/31")); System.out .println(checkDate("aaaa/02/31")); }
◆Ausgabeergebnis
wahr falsch falsch