смарт-анализатор даты Java - PullRequest
1 голос
/ 25 мая 2011

Существует ли в Java интеллектуальный анализатор дат, который будет анализировать различные форматы дат, не зная заранее, что это за формат?например, у меня могут быть следующие форматы:

21-3-1998,
March 2004, 2001, 
3/4/97
12-Dec-1998

существует ли простой вызов синтаксического анализа (сторонняя библиотека в порядке), которую я могу использовать для обработки их вызова?

Ответы [ 3 ]

1 голос
/ 25 мая 2011

Я не знаю, есть ли хороший выбор «из коробки», учитывая почти неограниченное количество перестановок;но если бы мне пришлось это сделать, я бы начал с фактического пакета Java-даты, Joda , и просто выполнил линейный поиск с последовательностью допустимых форматов данных и принял бы первый, который успешно анализирует.

0 голосов
/ 25 мая 2011

Пробовали ли вы стандартное Java-решение SimpleDateFormat.parse(String, ParsePosition)?

Согласно документации :

Анализирует текст из строки для получения даты,Метод пытается проанализировать текст, начиная с индекса, указанного в поз.Если синтаксический анализ завершается успешно, то индекс pos обновляется до индекса после последнего использованного символа (при синтаксическом анализе не обязательно используются все символы до конца строки), и анализируемая дата возвращается.Обновленная позиция может использоваться для указания начальной точки для следующего вызова этого метода.Если возникает ошибка, то индекс pos не изменяется, индекс ошибки pos устанавливается на индекс символа, в котором произошла ошибка, и возвращается значение null.

0 голосов
/ 25 мая 2011

См:

Есть ли хороший анализатор дат для Java?

за некоторые предложения. (Apache Commons и Joda Time)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...