Babel date_format 2016 年回归 2017 年日期



我正在尝试显示指定语言的日期格式,我并不惊讶地看到:

babel.dates.format_date(date(2017,1,1), 'MMM Y')

给出的期望值为:

u'Jan 2017'

而:

babel.dates.format_date(date(2017,1,1), 'MMM Y', locale='fr_FR')

给我:

u'janv. 2016'

为什么是2016年而不是2017年?

这是因为Y给你一周的年份。您需要使用yyyy来获得期望的内容。

见 https://github.com/python-babel/babel/issues/138

print format_date(date(2017,1,1), 'MMM yyyy')
print format_date(date(2017,1,1), 'MMM yyyy', locale='fr_FR')
Jan 2017
janv. 2017

最新更新