Skip to main content
 首页 » 编程设计

python之Babel date_format 返回 2017 年的 2016 年日期

2025年05月04日13webabcd

我正在尝试显示针对指定语言格式化的日期,看到这一点我有点惊讶:

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