Django - 更改语言环境的时间格式

时间:2012-10-26 10:00:45

标签: django localization django-templates

我正在开发一个使用l10n的项目 如果我将语言环境设置为EN并尝试显示时间(08:00),我会得到:

8 a.m.

如果我将语言环境设置为FR,我会得到:

08:00:00

但它应该是这样的:

8h

为什么我会收到这种格式?我怎样才能获得正确的格式?

2 个答案:

答案 0 :(得分:11)

显然没有为FR语言环境设置默认时间格式。

您可以做的是配置format module

# myproject/settings.py
FORMAT_MODULE_PATH = 'myproject.formats'

创建它:

myproject/
    formats/
        __init__.py
        fr/
            __init__.py
            formats.py

并定义法语格式:

# myproject/formats/fr/formats.py
TIME_FORMAT = 'G:i'

答案 1 :(得分:1)

如果您使用本地化,我不相信您可以更改格式,我对此有所了解:https://docs.djangoproject.com/en/dev/topics/i18n/timezones/

USE_L10N = True?如果是,则会覆盖settings.TIME_FORMATsettings.TIME_INPUT_FORMATS值:https://docs.djangoproject.com/en/dev/ref/settings/#time-format

您可以根据所选语言编写自己的“本地化”上下文处理器或模板过滤器。