我正在尝试显示针对指定语言格式化的日期,看到这一点我有点惊讶:
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
