Skip to main content
 首页 » 编程设计

python之Datetime 的 strftime 格式不正确

2025年05月04日6三少

我正在尝试以巴西语言环境 dd/mm/yyyy 显示日期。我使用了 datetime 的 srtftime("%x") 函数,但我得到的是 mm/dd/yyyy。这是我用来测试它的代码:

>>> import locale 
>>> import datetime as dt 
>>> locale.getlocale() 
('pt_BR', 'cp1252') 
>>> today = dt.date.today() 
>>> today.strftime('%x') 
'10/07/13' 

应该是 07/10/13。

我可以用:

>>> today.strftime('%d/%m/%y') 
'07/10/13' 

但我只是想知道为什么它没有以“正确”的方式工作。

请您参考如下方法:

当您运行 locale.setlocale(category,locale) 时,第二个参数必须是可识别的,否则您会收到“错误:不支持的区域设置”错误。 您可以使用:

print( locale.locale_alias) 

获取正确的语言环境别名字典,但并非所有这些语言环境都必须可用。在我的 Windows 机器上它是“portuguese_brazil”,然后是

locale.setlocale(locale.LC_ALL,'portuguese_brazil') 
today = dt.date.today() 
today.strftime('%x') 
print(today) 

输出:

2013-10-07