2010-01-19 113 views
8

什麼我需要做的(模塊加載,現場方法調用等),所以,當我打電話:蟒蛇日期時間本地化

datetime.date(2009,1,16).strftime("%A %Y-%b-%d") 

而不是得到:

Out[20]: 'Friday 2009-Jan-16' 

我得到西班牙語/法語/德語/ ...輸出

Out[20]: 'Viernes 2009-Ene-16' 

而不必更改我的整個操作系統的區域設置(即只使用python調用動態設置區域設置,並將更改限制在我的應用程序中)

謝謝。

回答

7
+0

抱歉的基本問題,但你如何設置呢? 在locale.locale_alias.keys() 真 locale.setlocale(locale.LC_ALL, '西班牙語') 錯誤 '西班牙語':不支持的區域設置 – 2010-01-19 03:36:27

+1

'locale.setlocale(local.LC_TIME, 'es_ES') ' – 2010-01-19 03:37:58

+0

已嘗試 locale.setlocale(locale.LC_TIME,'es_ES') 仍然得到 錯誤:不支持的語言環境設置 – 2010-01-19 03:43:03

2

設置您的區域設置(與locale.setlocale)後,您可以使用locale模塊nl_langinfo方法,像這樣:

time.strftime(locale.nl_langinfo(locale.D_T_FMT), time.localtime()) 
2

在Ubuntu上,

$> sudo locale-gen es_ES.UTF-8 
$> sudo dpkg-reconfigure locales 
$> python 
>>> import locale 
>>> locale.setlocale(locale.LC_TIME, 'es_ES.UTF-8')