Для моего заявления мне нужно обработать приблизительные даты, например, «около июня 1940 года» должно быть принято как плюс или минус 2 года около июня 1940 года. Или они могут ввести «около 1940 года», нужно принять как плюс минус 2 года около 1940 года. Вот полный список возможных форматов.
- 1940
- Nov.1940
- ноябрю 1940
- 6 ноября 1940
- 6 ноября 1940
- О (дата)
- Абт. (Дата)
- скажем (дата)
- BEF. (Дата)
- до (дата)
- корм. (Дата)
- После (дата)
- между (дата) и (дата)
- ставка. (дата) и (дата)
Я мог бы написать свой собственный парсер, но проблема в том, что я не уверен, как справляться со странными пролетами. Например, если они говорят о 1940 году, мне нужно сказать о 1938-1942 годах. Или для июня 1940 г. мне нужно сказать с 1 июня 1940 г. по 30 июня 1940 г. Я хочу иметь возможность действительно хорошо это искать, поэтому я конвертирую все в даты и время. Есть ли какие-нибудь драгоценные камни, чтобы справиться с этим или какие-либо идеи о том, как лучше всего справиться с этим в БД?
Я пробовал Chronic, но он неправильно анализирует, например, если вы введете «1940», он думает, что сегодня 19: 40.
Есть идеи?
Спасибо.