以下は、書式文字列に基づいて文字列をJoda datetimeオブジェクトに変換するコードです。Java Joda時刻複数の日付書式コードの最適化
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;
}
このコードは私に、所望の結果を提供するが、制御フローとして例外を使用してコードを最適化良いdesign.Pleaseありません。ジョダを使用して
をやって試すことができます私はこのコードを好き:)このAPIキャッチで –
はOKです。 FORMATTERSをメソッド外(フィールドとして)および静的finalに移動します。 –