Poniżej znajduje się kod, który konwertuje ciąg do obiektu datetime Joda w oparciu o ciąg formatu.Joda Joda czas wielokrotnego formatowania kodu daty formatu
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;
}
Ten kod zapewnia pożądany wynik, ale użycie wyjątku jako przepływu sterowania nie jest dobrym projektem. Zoptymalizuj kod.
lubię ten kod :) –
W tym API połowu jest OK. Przenieś FORMATERY poza metodę (jako pole) i statyczny finał. –