python - Django 本地化日期解析

标签 python django localization internationalization

我有一个完全国际化的 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/

相关文章:

python - 如何使用 OpenCensus 发送指标

python - 在 Mac OS X 10.6 Snow Leopard 上安装 Mercurial

python - 通过 strip() 有效地使用元组

python - Django 文件字段 : how to set default value (auto-create empty file)?

python - 完全模仿 tkinter 文本小部件中的标准输出以支持 Python 打印函数的结束参数

python - 在 Python 中测试时间敏感的应用程序

python - Django 表格内联翻译(解析器)缺少 2 个必需的位置参数 : model and admin_site

java - Android 本地化查询

java - 如何手动从org.springframework.context.MessageSource获取消息?

java - 如何在 Java 中使用 SimpleDateFormat 在日语语言环境中显示 AM/PM 字段?