2

我正在尝试在巴西语言环境中显示日期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'

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

4

1 回答 1

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-07

于 2013-10-07T17:20:23.023 回答