1

我正在尝试显示为指定语言格式化的日期,看到这一点我并不感到惊讶:

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 年?

4

1 回答 1

8

这是因为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
于 2017-02-05T18:32:31.873 回答