def normalize_field(self, value): if isinstance(value, basestring): locale = settings.get_locale() date_str, time_str = value.split(' ') date = dates.parse_date(date_str, locale) time = dates.parse_time(time_str, locale) dtime = datetime.datetime(date.year, date.month, date.day, time.hour, time.minute, time.second) dtime = settings.get_timezone().localize(dtime) utc_dt = dates.UTC.normalize(dtime) return utc_dt.replace(tzinfo=None) return super(DateTimeField, self).normalize_field(value)
def localize_field(self, value): if value: utc_dt = value.replace(tzinfo=dates.UTC) local_dt = settings.get_timezone().normalize(utc_dt) pattern = '{0} {1}'.format(self.get_date_format(), self.get_time_format()) return format_datetime(local_dt, pattern) return super(DateTimeField, self).localize_field(value)