Sau đây là mã chuyển đổi chuỗi thành đối tượng ngày giờ Joda dựa trên chuỗi định dạng.Java Joda thời gian tối đa hóa mã định dạng ngày
public Datetime ConvertDateTime(String dateStr) {
List<DateTimeFormatter> FORMATTERS =
Arrays.asList(
DateTimeFormat.forPattern("MM/dd/yyyy hh:mm:ss.SSS a"),
DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS"),
DateTimeFormat.forPattern("MM-dd-yyyy hh:mm:ss.SSS a"),
DateTimeFormat.forPattern("MM dd yyyy hh:mm:ss.SSS a"),
DateTimeFormat.forPattern("MM-dd-yyyy hh.mm.ss.SSS a"));
if (dateStr != null) {
for (DateTimeFormatter formatter : FORMATTERS) {
try {
DateTime dt = formatter.parseDateTime(dateStr);
return dt;
} catch (IllegalArgumentException e) {
// Go on to the next format
}
}
}
return null;
}
Mã này cung cấp cho tôi những kết quả mong muốn nhưng sử dụng ngoại lệ như dòng điều khiển không phải là một design.Please tốt tối ưu hóa mã.
Tôi thích mã này :) –
Trong bắt API này là OK. Di chuyển FORMATTERS ra ngoài phương thức (dưới dạng trường) và cuối cùng tĩnh. –