Aşağıda, bir dizeyi format dizisine bağlı olarak Joda datetime nesnesine dönüştüren kod verilmiştir.Java Joda zamanı çoklu tarih biçimi kod eniyilemesi
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;
}
Bu kod bana istenen sonucu sağlar ancak kontrol akışı olarak istisna kullanarak iyi bir Design.Please kodu optimize değil.
:) –
yapıyor deneyin olabilir sorun yok. FORMATTER'leri yöntem dışı (alan olarak) ve statik sonlandır. –