return ''
date_format = self.lang_dict['date_format']
- parse_format = DT_FORMAT
+ parse_format = DEFAULT_SERVER_DATE_FORMAT
if date_time:
- value=value.split('.')[0]
+ value = value.split('.')[0]
date_format = date_format + " " + self.lang_dict['time_format']
- parse_format = DHM_FORMAT
- if not isinstance(value, time.struct_time):
- return time.strftime(date_format, time.strptime(value[:get_date_length(parse_format)], parse_format))
-
+ parse_format = DEFAULT_SERVER_DATETIME_FORMAT
+ if isinstance(value, basestring):
++ # FIXME: the trimming is probably unreliable if format includes day/month names
++ # and those would need to be translated anyway.
+ date = datetime.strptime(value[:get_date_length(parse_format)], parse_format)
+ elif isinstance(value, time.struct_time):
+ date = datetime(*value[:6])
else:
date = datetime(*value.timetuple()[:6])
+ if date_time:
+ # Convert datetime values to the expected client/context timezone
+ date = datetime_field.context_timestamp(self.cr, self.uid,
+ timestamp=date,
+ context=self.localcontext)
return date.strftime(date_format)
res = self.lang_dict['lang_obj'].format('%.' + str(digits) + 'f', value, grouping=grouping, monetary=monetary)