Я знаю, что этот вопрос задан совсем немного, и, очевидно, вы не можете разобрать какую-либо произвольную дату. Тем не менее, я нахожу, что библиотека python-dateutil может анализировать каждую дату, которую я бросаю на нее, при этом требуя абсолютно нулевого усилия при вычислении строки формата даты. Время в Joda всегда продается как отличный синтаксический анализатор дат, но по-прежнему требуется, чтобы вы определили, в каком формате находится ваша дата, прежде чем выбрать формат (или создать свой собственный). Вы не можете просто вызвать DateFormatter.parse(mydate) и волшебным образом вернуть объект Date.
Например, дата "Wed Mar 04 05:09:06 GMT-06: 00 2009" правильно разобрана с python-dateutil:
import dateutil.parser
print dateutil.parser.parse('Wed Mar 04 05:09:06 GMT-06:00 2009')
но следующий часовой вызов Joda не работает:
String date = "Wed Mar 04 05:09:06 GMT-06:00 2009";
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
DateTime dt = fmt.parseDateTime(date);
System.out.println(date);
И создание собственного DateTimeFormatter приводит к поражению цели, поскольку это похоже на использование SimpleDateFormatter с правильной строкой формата.
Есть ли сопоставимый способ для синтаксического анализа даты на Java, например python-dateutil? Меня не волнуют ошибки, я просто хочу, чтобы это было в основном совершенным.