我有一个完全国际化的 Django 应用程序,我们使用的日期字段也应该采用相应语言的格式。现在我遇到了一个问题,我必须根据当前语言解析不同的日期格式。
我已经试过了:
from django.utils import formats, translation
format_code = formats.get_format("SHORT_DATE_FORMAT", lang=translation.get_language())
它返回当前使用的日期格式(例如德国的“d.m.Y”)但我需要它的日期格式我可以用 datetime.strptime 解析(例如“%d.%m.%Y”)。我怎样才能得到这个?
最佳答案
目前,我找到的最好的方法是这样的:
from datetime import datetime
from django.utils import formats
def parse_locale_date(formatted_date):
parsed_date = None
for date_format in formats.get_format('DATE_INPUT_FORMATS'):
try:
parsed_date = datetime.strptime(formatted_date, date_format)
except ValueError:
continue
else:
break
if not parsed_date:
raise ValueError
return parsed_date.date()
关于python - Django 本地化日期解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32330825/