Aktuell überprüfe ich meine Methode um ungültige Datumsangaben zu finden und das Wort "ungültig" zu zuweisen.
Das ungültige Prüfdatum ohne Uhrzeit als String ist : 30.02.2022 (dd.MM.yyyy)
Das Problem tritt beim Parsen des Datums im Abschnitt Echtheitsprüfung auf.
Ich habe schon Stunden mit verschiedenen SimpleDateFormat probiert und auch geprüft, aber das Problem kann ich
einfach nicht finden?!?
Seltsam finde ich schon daß sich das Datum vom 30.02.2022 zu 02.03.2022 ändert?
Über Hilfe bin ich sehr Dankbar.
Code-Auszug
Logfile-Auszug
Das ungültige Prüfdatum ohne Uhrzeit als String ist : 30.02.2022 (dd.MM.yyyy)
Das Problem tritt beim Parsen des Datums im Abschnitt Echtheitsprüfung auf.
Ich habe schon Stunden mit verschiedenen SimpleDateFormat probiert und auch geprüft, aber das Problem kann ich
einfach nicht finden?!?
Seltsam finde ich schon daß sich das Datum vom 30.02.2022 zu 02.03.2022 ändert?
Über Hilfe bin ich sehr Dankbar.
Code-Auszug
Java:
// Datum mit Uhrzeit zusammensetzen
if (datumHatUhrzeit == false) {
LOG.info("Datum OHNE Uhrzeit : " + datum);
formatPruefung = new SimpleDateFormat("dd.MM.yyyy");
// TODO Scheinbar ein Problem mit dem Formatierer zu sein
} else {
datum = tag + "." + monat + "." + jahr + " " + uhrZeit;
LOG.info("Datum zusammensetzen MIT Uhrzeit : " + datum);
formatPruefung = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
// TODO Scheinbar ein Problem mit dem Formatierer zu sein
} // Datum zusammensetzen
// Datum Echtheitsprüfung
try {
LOG.info("Das zu prüfende Datum ist : " + datum);
// Umschalten von korrigierenden auf striktes parsen
formatPruefung.setLenient(true);
// parst den String auf die Datumsvorlage (parser)
datumObjekt = formatPruefung.parse(datum);
LOG.info("Datums Objekt : " + datumObjekt);
// schreibt das geparste Datum mit dem neuen Datumsformat in ausgabeDatum
datum = formatPruefung.format(datumObjekt);
LOG.info("Datum nach Prüfung : " + datum);
} catch (Exception e) {
// Wenn das Datum nicht gültig ist
datum = "ungültig";
LOG.info("Das Datum ist : " + datum);
} // Datum Echtheitsprüfung
Logfile-Auszug
Code:
Das zu überprüfende Datum : 30.02.2022
Das Datum enthält KEINE Uhrzeit
Das Trennzeichen ist '.' 30.02.2022
Das datumArray hat 3 Inhalte
Erkannter Tag : 30
Erkannter Monat : 02
Erkanntes Jahr : 2022
Das Datum besitzt '10' Stellen : 30.02.2022
Die Jahreszahl besitzt '4' Stellen : 2022
Datum OHNE Uhrzeit : 30.02.2022
Das zu prüfende Datum ist : 30.02.2022
Datums Objekt : Wed Mar 02 00:00:00 CET 2022
Datum nach Prüfung : 02.03.2022