Ich verwende den hier enthaltenen Code, um festzustellen, ob die angegebenen Werte gültige Daten sind. Unter einem speziellen Fall ist es die Bewertung der folgenden Adresse:Java DateFormat.parse denkt "100 112TH AVE NE" ist ein Datum
100 112th Ave NE
Offensichtlich kein Datum, aber Java interpretiert sie als:
Sun 12. Januar 00: EST 00:00 100
Der Code in Frage:
String DATE_FORMAT = "yyyyMMdd";
try {
DateFormat dfyyyyMMdd = new SimpleDateFormat(DATE_FORMAT);
dfyyyyMMdd.setLenient(false);
Date formattedDate;
formattedDate = dfyyyyMMdd.parse(aValue);
console.debug(String.format("%s = %s","formattedDate",formattedDate));
} catch (ParseException e) {
// Not a date
}
Die Konsole kehrt:
11: 41: 40,063 DEBUG TestValues | formatedDate = So Jan 12 00:00:00 EST 100
Irgendeine Idee, was hier vor sich geht?
Also, warum übergeben Sie eine Adresse an das Datum Formatter? –
(Sieht für mich aus wie es Jahr analysiert = 100, Monat = 1, Tag = 12, das ist das Beste, was man hoffen könnte.) –
das ist lustig :-) [sorry] – Leo