from datetime import datetime
from django.utils.formats import get_format
def parse_date(date_str):
"""Parse date from string by DATE_INPUT_FORMATS of current language"""
for item in get_format('DATE_INPUT_FORMATS'):
try:
return datetime.strptime(date_str, item).date()
except (ValueError, TypeError):
continue
return None
4条答案
按热度按时间r9f1avp51#
它应该是
%Y-%m-%d
:根据文档:
%Y
表示年份,世纪为十进制数%m
-月份,以零填充的十进制数字表示%d
-月份中的第几天,以零填充的十进制数表示nhaq1z212#
在这种情况下,使用django的dateparse可能会很方便。
s1ag04yj3#
如果给定日期不是
%Y-%m-%d
,则django.utils.dateparse.parse_date
函数将返回None
我没有在django源代码中找到一个函数来解析
DATE_INPUT_FORMATS
的字符串,所以我写了一个自定义的帮助函数,我在这里添加了帮助其他人。cnh2zyt34#
在这种情况下,使用Django的dateparse的parse_datetime可能会很方便。如果数据时间格式是动态的,则不必显式应用。