hashspark
@hashspark

Как работать с такой датой?

Здравствуйте, иногда встречаются даты формата (как на Хабре):


сегодня в hh:mm

вчера в hh:mm

dd сентября в hh:mm — текущий год, месяц написан в родительном падеже

dd сентября 2012 в hh:mm


Как получить дату в привычном формате из такой строки? Может кто сталкивался? Есть ли красивые решения?
  • Вопрос задан
  • 4094 просмотра
Решения вопроса 1
syschel
@syschel
freelance/python/django/backend
Посмотрите схожий вопрос. Там хоть и под пхп вопрос. Но были варианты и с питоном.
Подскажите библиотеку для парсинга человеко-понятной даты?
Правда там под более «извращённые» варианты написания дат.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
briskly
@briskly
Решал данную задачу.
Тогда я написал с около 10-ти регулярок. Просто регулярки надо делать универсальные, например:
r = re.compile(?P<day>__day__)__spl__{1,5}(?P<month>__monthnum__)__spl__{1,5}(?P<year>__year__)?)

__day__ итп. универсальные регулярки определенные заранее в словарике
Задача нет так сложна, как кажется с начала.
Для относительных дата своя регулярка, которая собирается из словарика.
И пост обработка для каждой группы. Типа формат месяца может быть разный, если слова то ищем в словаре.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы