3

How can I obtain the datetime mask (a string like "dd/mm/yyyy HH:mm:ss") for the locale that is currently used in my django application? (I need it in order to configure a javascript component which require a datetime mask as parameter and since I have a multilanguage site I can't hardcode that mask)

4

1 回答 1

5

使用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()示例自己进行翻译。

于 2013-06-04T21:19:00.107 回答