日期时间的strftime格式不正确

时间:2013-10-07 16:07:36

标签: python date datetime

我正在尝试在巴西区域设置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'

但我只是想知道为什么它不能以“正确”的方式运作。

1 个答案:

答案 0 :(得分:1)

运行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月7日