Dưới đây là mã của tôi để phân tích ngày sử dụng SimpleDateFormat với mẫu:SimpleDateFormat.parse() - tạo ra ngày sai cho ngày-định dạng khác nhau
String pattern = "yyyy-MM-dd";
SimpleDateFormat format = new SimpleDateFormat(pattern);
try {
Date date = format.parse("05-21-2030");
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
Bạn có thể xem ngày mà tôi truyền cho phân tích cú pháp là khác nhau từ định dạng ngày tháng được chỉ định trong SimpleDateFormat. Trong trường hợp này tôi đã mong đợi loại excpetion như là định dạng khác nhau nhưng nó phân tích thành công với một số giá trị ngày khác nhau. Tôi nhận được đầu ra - Tue 22 Tháng Ba 00:00:00 IST 12
Khi tôi vượt qua định dạng tương tự như 2030/05/21 nó hoạt động tốt.
Các bạn có thể cho tôi biết cách tôi có thể ngăn những điều như vậy trong mã của mình không?
Bạn phải sử dụng nghiêm ngặt trong trường hợp đó http: // stackoverflow.com/questions/13088140/java-how-to-parse-a-date-strictly –
@NitinDandriyal: Không có chế độ nghiêm ngặt rõ ràng. Bạn phải tắt khoan dung. – Brian
Tôi có nghĩa là nghiêm ngặt như là một thuật ngữ chung, đó là lý do tại sao cho các liên kết mà câu trả lời một cách thích hợp –