我有现有的Django项目,我需要通过默认情况下的语言环境来格式化日期。
我不想使用语言环境类,因为它会对全局参数产生影响,并且会产生意想不到的后果。
在没有语言环境类的情况下,是否存在本地化日期的常用方法,或者我错误地认为语言环境是如何工作的?
答案 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