如何获取当前在我的django应用程序中使用的语言环境的日期时间掩码(类似“dd/mm/yyyy HH:mm:ss
”的字符串)?
(我需要它来配置一个需要日期时间掩码作为参数的javascript组件,因为我有一个多语言站点我不能硬编码该掩码)
答案 0 :(得分:5)
使用django.utils.formats
module:
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'
请参阅available date format strings,了解各种字符串的含义。
或者,使用javascript catalog view,其中包含JavaScript get_format()
函数。
无论哪种方式,Django格式都不是JS认可的格式。您有两种选择:
使用this Django snippet将. strfdate()
方法添加到识别Django格式的JavaScript Date
原型中,或
将包含上述代码段的更新版本的django-missing library安装为可随时包含的JS库。
如果您需要与JS兼容的面具,则需要根据这两个.strfdate()
示例自行进行翻译。