本文整理汇总了Python中rest_framework.compat.parse_datetime函数的典型用法代码示例。如果您正苦于以下问题:Python parse_datetime函数的具体用法?Python parse_datetime怎么用?Python parse_datetime使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了parse_datetime函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: restore_object
def restore_object(self, attrs, instance=None):
obj = super(UnmodifiedTimestampSerializer, self).restore_object(
attrs, instance=instance)
for attr in ('created', 'modified'): # TODO: dynamic attr list
value = getattr(obj, attr, None)
if value and isinstance(value, basestring):
setattr(obj, attr, parse_datetime(value))
return obj
示例2: from_native
def from_native(self, value):
if value in validators.EMPTY_VALUES:
return None
if isinstance(value, datetime.datetime):
return value
if isinstance(value, datetime.date):
value = datetime.datetime(value.year, value.month, value.day)
if settings.USE_TZ:
# For backwards compatibility, interpret naive datetimes in
# local time. This won't work during DST change, but we can't
# do much about it, so we let the exceptions percolate up the
# call stack.
warnings.warn(
"DateTimeField received a naive datetime (%s)" " while time zone support is active." % value,
RuntimeWarning,
)
default_timezone = timezone.get_default_timezone()
value = timezone.make_aware(value, default_timezone)
return value
for format in self.input_formats:
if format.lower() == ISO_8601:
try:
parsed = parse_datetime(value)
except (ValueError, TypeError):
pass
else:
if parsed is not None:
return parsed
else:
try:
parsed = datetime.datetime.strptime(value, format)
except (ValueError, TypeError):
pass
else:
return parsed
msg = self.error_messages["invalid"] % readable_datetime_formats(self.input_formats)
raise ValidationError(msg)
示例3: from_native
def from_native(self, value):
if value in validators.EMPTY_VALUES:
return None
if isinstance(value, datetime.datetime):
return value
if isinstance(value, datetime.date):
value = datetime.datetime(value.year, value.month, value.day)
if settings.USE_TZ:
# For backwards compatibility, interpret naive datetimes in
# local time. This won't work during DST change, but we can't
# do much about it, so we let the exceptions percolate up the
# call stack.
warnings.warn(
u"DateTimeField received a naive datetime (%s)" u" while time zone support is active." % value,
RuntimeWarning,
)
default_timezone = timezone.get_default_timezone()
value = timezone.make_aware(value, default_timezone)
return value
try:
parsed = parse_datetime(value)
if parsed is not None:
return parsed
except ValueError:
msg = self.error_messages["invalid_datetime"] % value
raise ValidationError(msg)
try:
parsed = parse_date(value)
if parsed is not None:
return datetime.datetime(parsed.year, parsed.month, parsed.day)
except ValueError:
msg = self.error_messages["invalid_date"] % value
raise ValidationError(msg)
msg = self.error_messages["invalid"] % value
raise ValidationError(msg)
示例4: strptime
def strptime(self, value, frmt):
value = force_str(value)
parsed = parse_datetime(value)
if parsed is None: # eg for '2014-03-01'
return super(FlexibleDateTimeField, self).strptime(value, frmt)
return parsed