Tôi đang sử dụng mã được bao gồm ở đây để xác định liệu giá trị đã cho có là ngày hợp lệ hay không. Theo một trường hợp cụ thể, nó đánh giá địa chỉ đường phố sau:Java DateFormat.parse nghĩ rằng "100 112TH AVE NE" là một ngày
100 lần thứ 112 AVE NE
Rõ ràng không phải là một ngày, nhưng Java diễn giải nó như:
Sun Jan 12 00: 00:00 EST 100
Các mã trong câu hỏi:
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
}
Giao diện điều khiển lợi nhuận:
11: 41: 40,063 TestValues DEBUG | formattedDate = Sun Jan 12 00:00:00 EST 100
Bất kỳ ý tưởng gì đang xảy ra ở đây?
Vì vậy, tại sao bạn chuyển địa chỉ đến trình định dạng ngày ?? –
(Có vẻ như tôi phân tích năm = 100, tháng = 1, ngày = 12, tức là tốt nhất có thể hy vọng.) –
điều này thật buồn cười :-) [xin lỗi] – Leo