Django本地化日期解析

时间:2015-09-01 11:48:28

标签: python django localization internationalization

我有一个完全国际化的django应用程序,我们使用的日期字段也应该是相应语言的格式。现在我遇到了必须根据当前语言解析不同日期格式的问题。

我试过这个:

select id1, weight, id2,
       weight / (select sum(weight) from table t2 where t2.id = t1.id) as prob
from table t1

它返回当前使用的日期格式(例如" dmY"对于德国)但我需要它以我可以用datetime.strptime解析的日期格式(例如"%d。%m 。%Y&#34)。我怎么能得到这个?

3 个答案:

答案 0 :(得分:1)

目前,我找到的最佳方式是:

$_POST

答案 1 :(得分:0)

从文档中看到这一点:

{% load i18n %}

{% get_current_language as LANGUAGE_CODE %}
<!-- Current language: {{ LANGUAGE_CODE }} -->
<p>{% trans "your date here" %}</p>

{% language 'en' %}
    {% get_current_language as LANGUAGE_CODE %}
    <!-- Current language: {{ LANGUAGE_CODE }} -->
    <p>{% trans "your date format here" %}</p>
{% endlanguage %}

在此处查看文档:{​​{3}}

答案 2 :(得分:0)

您可以使用formats.date_format(value, format)代替datetime.strptime,例如:

from django.utils import formats, translation
format_code = formats.get_format("SHORT_DATE_FORMAT", lang=translation.get_language())
formats.date_format(your_date, format_code)