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