我正在尝试以巴西语言环境 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
