Tôi hiện có trình phân tích cú pháp ngày Joda sử dụng DateTimeFormatterBuilder với một nửa tá định dạng ngày khác nhau mà tôi có thể nhận được.Java 8 Date tương đương với DateTimeFormatterBuilder của Joda với nhiều định dạng phân tích cú pháp?
Tôi đang di chuyển sang các thường trình Ngày của Java 8 và không thấy tương đương.
Tôi có thể làm điều gì đó như thế này bằng cách sử dụng Java 8 Ngày?
DateTimeParser[] parsers = {
DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss.SSSSSS").getParser() ,
DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").getParser() ,
DateTimeFormat.forPattern("ddMMMyyyy:HH:mm:ss.SSS Z").getParser() ,
DateTimeFormat.forPattern("ddMMMyyyy:HH:mm:ss.SSS").getParser() ,
DateTimeFormat.forPattern("ddMMMyyyy:HH:mm:ss.SSSSSS").getParser() ,
DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS").getParser()
};
DateTimeFormatter dateTimeFormatterInput = new DateTimeFormatterBuilder()
.append(null, parsers).toFormatter();
Bạn sẽ có thể quan sát một sự suy giảm nghiêm trọng hiệu suất-khôn ngoan - đặc biệt là nếu bạn có kế hoạch để thực hiện thay thế bằng cách xử lý ngoại lệ. Theo các bài kiểm tra của riêng tôi, Joda-Time nhanh hơn. Xem thêm [JDK-issue] này (https://bugs.openjdk.java.net/browse/JDK-8152273). –