7

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

8 a.m.

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

08:00:00

但它应该是这样的:

8h

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

4

2 回答 2

11

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

您可以做的是配置格式模块

# 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'
于 2012-10-26T10:31:31.123 回答
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

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

于 2012-10-26T10:48:58.013 回答