Sebastian29
Erfahrenes Mitglied
Moin, moin!
Bekommt der Parser auch das falsche Jahr mit? ( siehe unten )
zum Beispiel
String datum = "31.03.2222";
String pattern = "dd.MM.yyyy";
Also bei mir sagt der Parser, dass das Datum richtig ist! Warum, denn in diesem Jahr 2222 sind wir ja noch nicht soweit oder wir liegen noch im Sarg!
Damit frage ich ab, ob das ein Datum ist oder nicht!
In diesem Fall mit dem Jahr muss diese Methode normalerweise false zurückgeben, da das Jahr noch nicht gibt. Diese Methode gibt auch false zurück, wenn z.B. der Tag 32 ( auch numerisch ) ist, da 32 überhaupt nicht gibt!
Deshalb frage ich mich, warum bei dem Jahr 2222 nicht rumgemeckert wird bzw. nicht false zurückgegeben wird?
Sonst muss ich in der Methode noch erweitern, dass das Jahr nicht größer als das aktuelle Jahr 2008 stehen darf, aber ich denke, dass das irgendwie keinen Sinn macht, oder?
Gruß
Sebastian29
Bekommt der Parser auch das falsche Jahr mit? ( siehe unten )
zum Beispiel
String datum = "31.03.2222";
String pattern = "dd.MM.yyyy";
Also bei mir sagt der Parser, dass das Datum richtig ist! Warum, denn in diesem Jahr 2222 sind wir ja noch nicht soweit oder wir liegen noch im Sarg!
Code:
public static boolean isDatum(String datum, String pattern)
{
// Leeres Datumfeld wird nicht geprüft
if (datum.equals("") || datum.equals(IS_DATUM_LEER))
return true;
SimpleDateFormat df = new SimpleDateFormat(pattern);
// Weißt den Parser an auf existierende Datumswerte zu achten,
// ohne die Zeile wird aus 32.01.2003, 01.02.2003
df.setLenient(false);
try
{
df.parse(datum);
// Das Datum ist richtig
return true;
}
catch (ParseException e) {
// Das Datum ist falsch
return false;
}
}
Damit frage ich ab, ob das ein Datum ist oder nicht!
In diesem Fall mit dem Jahr muss diese Methode normalerweise false zurückgeben, da das Jahr noch nicht gibt. Diese Methode gibt auch false zurück, wenn z.B. der Tag 32 ( auch numerisch ) ist, da 32 überhaupt nicht gibt!
Deshalb frage ich mich, warum bei dem Jahr 2222 nicht rumgemeckert wird bzw. nicht false zurückgegeben wird?
Sonst muss ich in der Methode noch erweitern, dass das Jahr nicht größer als das aktuelle Jahr 2008 stehen darf, aber ich denke, dass das irgendwie keinen Sinn macht, oder?
Gruß
Sebastian29