如何在没有语言环境类的Django中获取语言环境日期?

时间:2017-02-10 09:13:10

标签: python django

我有现有的Django项目,我需要通过默认情况下的语言环境来格式化日期。

我不想使用语言环境类,因为它会对全局参数产生影响,并且会产生意想不到的后果。

在没有语言环境类的情况下,是否存在本地化日期的常用方法,或者我错误地认为语言环境是如何工作的?

1 个答案:

答案 0 :(得分:0)

是什么帮助了我babel lybrary。

不使用区域设置,而是具有全局效果:

>>> from datetime import date
>>> import locale
>>> d = date(2017, 2, 13)
>>> locale.setlocale(locale.LC_TIME, "de")
'de'
>>> print(d.strftime("%d %B %Y"))
13 Februar 2017

我们可以使用babel,它不会改变全局locale

>>> from datetime import date
>>> from babel.dates import format_date
>>> d = date(2017, 2, 13)
>>> print(format_date(d, format="d MMMM Y", locale='de_DE'))
13 Februar 2017
>>> print(d.strftime("%d %B %Y"))
13 February 2017