我正在做一个使用 l10n 的项目。
如果我将语言环境设置为 EN 并尝试显示时间(08:00),我会得到:
8 a.m.
如果我将语言环境设置为 FR,我会得到:
08:00:00
但它应该是这样的:
8h
为什么我会得到这种格式?我怎样才能得到正确的格式?
我正在做一个使用 l10n 的项目。
如果我将语言环境设置为 EN 并尝试显示时间(08:00),我会得到:
8 a.m.
如果我将语言环境设置为 FR,我会得到:
08:00:00
但它应该是这样的:
8h
为什么我会得到这种格式?我怎样才能得到正确的格式?
显然没有为 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'
根据我的理解,如果您使用本地化,我不相信您可以更改格式:https ://docs.djangoproject.com/en/dev/topics/i18n/timezones/ 。
是USE_L10N = True
吗?如果是这样,它将覆盖settings.TIME_FORMAT
和settings.TIME_INPUT_FORMATS
值:https ://docs.djangoproject.com/en/dev/ref/settings/#time-format
您可以根据所选语言编写自己的“本地化”上下文处理器或模板过滤器。