我正在尝试在巴西区域设置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'
但我只是想知道为什么它不能以“正确”的方式运作。
答案 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日