Теперь у меня есть два разных формата даты, записанные в строке:
String date1 = "2018-10-12 18:01:01";// yyyy-MM-dd HH:mm:ss
String date2 = "2018-10-12 18:01";//yyyy-MM-dd HH:mm
Я использую joda
и хочу преобразовать строку в DateTime
, основной способ - использовать два форматерадля разбора каждого из них:
DateTimeFormatter formatter1 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter formatter2 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm");
DateTime dt1 = formatter1.parseDateTime(date1);
DateTime dt2 = formatter2.parseDateTime(date2);
Выше блоков кода работает нормально, но он создал два форматера, так как формат даты очень похож (последний просто не хватает секунд), мне интересно, если естьспособ, которым я могу использовать только один форматер для анализа всех их или мне нужно использовать два форматера?
Примечание: из-за ограничения производственной среды, я не могу использовать java8
сейчас, поэтому яхочу ответ на основе joda
Заранее спасибо!
Я только что попробовал, как показано ниже, и получил IllegalArgumentException: Invalid format
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime dt1 = formatter.parseDateTime(date1);
DateTime dt2 = formatter.parseDateTime(date2);