Наговнокодил тут для тебя :)
from datetime import date, datetime, timedelta
month_list = [None, 'янв', 'фев', 'мар', 'апр', 'мая', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек']
def get_month(s):
for month in month_list[1:]:
if month in s:
return month_list.index(month)
raise ValueError('Wrong month name %s' % s)
def parse_date(text):
parts = text.lower().split()
hours, mins = map(int, parts[-1].split(':'))
if parts[0] in ('сегодня', 'вчера'):
d = date.today() if parts[0] == 'сегодня' else date.today() - timedelta(1)
return datetime(*d.timetuple()[:3] + (hours, mins))
else:
day, month, year = int(parts[0]), get_month(parts[1]), date.today().year
return datetime(year, month, day, hours, mins)