code: def process_datetime(value):
      u
      value = value.strip()
      m = DATETIME_COMMON.match(value)
      if m:
          dt = m.groupdict()
          if not dt['year']:
              dt['year'] = NOW.year
          dt['month'] = MONTH_CODE[dt['month']]
          _convert_values_to_int(dt)
          return DATETIME_FORMAT.format(datetime(**dt))
  
      m = DATETIME_YESTERDAY.match(value)
      if m:
          dt = m.groupdict()
          _convert_values_to_int(dt)
          return DATETIME_FORMAT.format(NOW.replace(**dt) - timedelta(1))
  
      m = DATETIME_TODAY.match(value)
      if m:
          dt = m.groupdict()
          _convert_values_to_int(dt)
          return DATETIME_FORMAT.format(NOW.replace(**dt))
      return '?'
docs: u"""
      >>> PSEUDO_NOW = NOW.replace(hour=17, minute=27)
  
      >>> process_datetime(u'25 ноября 1991 в 07:07')
      '1991-11-25 07:07'
  
      >>> process_datetime(u'1 января 1970 в 00:00')
      '1970-01-01 00:00'
  
      >>> process_datetime(u'8 мая в 17:27')  #doctest: +ELLIPSIS
      '201...-05-08 17:27'
  
      >>> process_datetime(u'сегодня в 17:27') == DATETIME_FORMAT.format(PSEUDO_NOW)
      True
  
      >>> process_datetime(u'вчера в 17:27') == DATETIME_FORMAT.format(PSEUDO_NOW - timedelta(days=1))
      True