2012-03-22 4 views
5

Есть ли хорошая библиотека для синтаксического анализа дат из строки в Haskell или ANSI C? Что-то вроде strtotime PHP, или Ruby's Time.parse или Chronic, или что-то еще.Разбор нечетких дат в Haskell (или C)

Если он может анализировать «на следующей неделе» и т. Д., То это идеальный вариант, но даже если он может просто определить для себя, в каком формате находится полная строка даты, и вернуть результат, это было бы достаточно хорошо.

Я бы на самом деле, а не порт Хронические или экстракт strototime вручную ...

ответ

6

После долгих охоты, я обнаружил, что код даты в Git довольно хорошо и не очень зависит от остальной части Git, поэтому я вытащил его и сделал http://hackage.haskell.org/package/git-date

Я готов использовать лучшее решение если есть один :)

+1

Awesome! Я давно хотел этого. –

+0

Как насчет команды даты unix? Я не уверен, сколько он может разобрать, но он может справиться с «на следующей неделе». – Masse

+0

Ты спас мне массу времени! Спасибо, что создали! – Ecognium

1

Он не обрабатывает «на следующей неделе» стиль вещи, но модуль Data.Time.Format из time библиотека делает по существу что вы хотите, я думаю, и он включен по умолчанию с платформой Haskell. Просто прокрутите вниз документы пикши, пока не дойдете до раздела синтаксического анализа.

+1

Все парсеры в этой библиотеке требуют, чтобы я передал строку формата даты. Я не знаю, как даты будут отформатированы заранее. – singpolyma

+0

@singpolyma Документы говорят, что функции действительно принимают «некоторые вариации». Помимо этого, просто вызовите 'parseTime' (или что-то еще) с каждым возможным форматом, разделяя вызовы на' <|> ' –

Смежные вопросы