2010-01-19 9 views
8

Was muss ich tun, um (Module locale Methoden zu laden, berufen, etc.), so dass, wenn ich rufe:python datetime Lokalisierung

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

anstatt sich:

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

i erhalten spanisch/Französisch/Deutsch/... Ausgang

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

ohne mein ganzes Betriebssystem Gebietsschema zu ändern (dh nur python Anrufe verwenden um das Gebietsschema dynamisch festzulegen und die Änderungen innerhalb meiner App zu halten)

Danke.

Antwort

7
+0

sorry für die grundlegende Frage, sondern wie Sie es tun gesetzt? 'spanisch' in locale.locale_alias.keys() Wahre locale.setlocale (locale.LC_ALL, 'spanisch') Fehler: nicht unterstützte Gebietsschema Einstellung –

+1

'locale.setlocale (local.LC_TIME, 'es_ES') ' –

+0

ausprobiert locale.setlocale (locale.LC_TIME, 'es_ES') und immer noch Fehler: nicht unterstützte Gebietsschemaeinstellung –

2

Nach dem locale-Einstellung (mit locale.setlocale) Sie können die nl_langinfo Methode locale Module wie folgt:

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

Unter Ubuntu

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