我如何获取当前在我的Django应用程序中使用的语言环境的日期时间掩码(类似于“
dd/mm/yyyy HH:mm:ss
”的字符串)?
(我需要它来配置一个需要日期时间掩码作为参数的JavaScript组件,由于我有一个多语言站点,无法硬编码该掩码。)dd/mm/yyyy HH:mm:ss
”的字符串)?
(我需要它来配置一个需要日期时间掩码作为参数的JavaScript组件,由于我有一个多语言站点,无法硬编码该掩码。)django.utils.formats
模块}}:from django.utils import formats
date_format = get_format('DATE_FORMAT')
get_format(format_type, lang=None, use_l10n=None)
返回当前使用的格式;将use_l10n
设置为强制应用本地化(默认为您的settings.USE_L10N
标志),或使用lang
参数选择特定语言:
>>> from django.utils import formats
>>> formats.get_format('DATE_FORMAT')
'N j, Y'
>>> formats.get_format('DATE_FORMAT', lang='de')
'j. F Y'
请查看可用日期格式字符串以了解各种字符串的含义。
或者,使用JavaScript目录视图,其中包括JavaScript get_format()
函数。
无论哪种方式,Django格式都不是JS识别的格式。您有两个选择:
使用此Django片段将.strfdate()
方法添加到JavaScript Date
原型中,以识别Django格式,或
安装django-missing库,其中包括上述片段的更新版本作为准备包含的JS库。
如果您需要JS兼容的掩码,则需要根据这两个.strfdate()
示例自行进行翻译。
django-missing
库,它为 JavaScript 添加了日期格式化功能;其中包括该代码片段的更新版本。 - Martijn Pieters