Данный модуль содержит базовый класс и упрощающие работу с ним функции для извлечения даты и времени из текста на русском языке.
sudo pip3 install rutimeparser
Примеры ниже приведены для 2 апреля 2017 года.
Извлечение даты и времени:
>>> from rutimeparser import parse
>>> parse('завтра')
datetime.date(2017, 4, 3)
>>> parse('завтра утром')
datetime.datetime(2017, 4, 3, 9, 0)
>>> parse('Напомни мне завтра утром составить список дел.')
datetime.datetime(2017, 4, 3, 9, 0)
Извлечение текста, не относящегося к дате и времени:
>>> from rutimeparser import get_clear_text, get_last_clear_text
>>> get_clear_text('Напомни мне завтра утром составить список дел.')
'напомни мне составить список дел'
>>> get_last_clear_text('Напомни мне завтра утром составить список дел.')
'составить список дел'
утром
- в 09:00днём
- в 15:00вечером
- в 21:00ночью
- в 03:00на следующей неделе
- на следующей неделе в понедельник.через неделю
- ровно через 7 суток.через неделю утром
- через 7 дней утром.в следующем месяце
- 1 число следующего месяца.
Больше примеров в tests.py
Параметры rutimeparser.parse
:
words
(str, list, tuple) -- Строка с текстом или список слов. Параметр является необязательным, т.к. может быть передан непосредственно в методparse
.tz
(str) -- Название часового пояса. Если не указано, возвращается наивное время.now
(datetime.datetime) -- От какого момента считать текущее времяallowed_results
(list, tuple) -- Список объектов, которые могут быть возвращены методомparse
. Возможные значения -- datetime.datetime, datetime.date, datetime.time, None.default_time
(datetime.time) -- Время по умолчанию. Используется только в том случае, если из текста удалось получить только date, но необходимо вернуть datetime. По умолчанию 09:00.default_datetime
(datetime.datetime) -- Дата и время по умолчанию. Возвращается методомparse
, если в тексте не удалось найти значение, подходящее подallowed_results
. По умолчанию равен значению параметраnow
.
- Перейти на
pymorphy
- Добавить поддержку AM/PM (например, "в два часа дня")