Re: [Python-de] Datetime frage
Am Sun, 11 Dec 2016 21:01:01 +0100 schrieb Hans-Peter Jansen:
On Sonntag, 11. Dezember 2016 18:33:42 Manfred Gil wrote:
Hallo Liste,
ich spiele gerade mit Datetime rum, um das Modul verstehen zu können. Dabei viel mir auf das ich nur die Englische Bezeichnung bekomme.
<Beispiel>
import datetime as dt
heute = dt.date.today()
print("Heute ist = ",heute)
print(heute.strftime("%A %d. %B %Y")) # Tag und Monat ist in English
import locale
print(locale.getlocale())
</Beispiel >
Die Ausgabe bei mir lautet:
Heute ist = 2016-12-11 Sunday 11. December 2016 ('de_DE', 'UTF-8')
Frage: Wie bringe ich datetime bei, die Ausgabe in Deutsch zu schreiben, ich dachte ( so hab ich es verstanden ) das, wenn locale richtig gesetz ist, die Ausgabe auf Deutsch erscheinen sollte.
Dann mach das doch mal:
--> import locale --> locale.setlocale(locale.LC_ALL, '') 'de_DE.UTF-8' --> import datetime as dt --> heute = dt.date.today() --> print(heute.strftime("%A %d. %B %Y")) Sonntag 11. Dezember 2016 --> print(locale.getlocale()) ('de_DE', 'UTF-8')
und probiere das mit beiden pythons.
Wenn Du unbedingt setlocale selber zusammenbauen willst, dann so:
Python 3.4.5 (default, Jul 03 2016, 12:57:15) [GCC] on linux Type "help", "copyright", "credits" or "license" for more information. --> import locale --> import datetime as dt --> heute = dt.date.today() --> print(heute.strftime("%A %d. %B %Y")) Sunday 11. December 2016 --> locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8') 'de_DE.UTF-8' --> print(locale.getlocale()) ('de_DE', 'UTF-8') --> print(heute.strftime("%A %d. %B %Y")) Sonntag 11. Dezember 2016
Aber wer will das schon... ;)
Viel Glück, Pete
richtig ... wer will das. wieso muß ich setlocale überhaupt setzen. ich wollt eigendlich nur eine Deutsche ausgabe von strftime. Gruß Manfred PS: wie ich schon schrieb klappt es, wenn ich encoding mit angebe. -- Kritiker sind blutrünstige Leute, die es nicht bis zum Henker gebracht haben. -- George Bernard Shaw
On Montag, 12. Dezember 2016 18:07:55 Manfred Gil wrote:
Am Sun, 11 Dec 2016 21:01:01 +0100 schrieb Hans-Peter Jansen:
On Sonntag, 11. Dezember 2016 18:33:42 Manfred Gil wrote:
Aber wer will das schon... ;)
Viel Glück, Pete
richtig ... wer will das.
wieso muß ich setlocale überhaupt setzen.
explizit ist besser als implizit... Schon mal versucht, einem Programm das auszutreiben, unbedingt eine Locale setzen zu wollen? Nicht witzig, wenn es, wie in diesem Thread zigfach erwähnt, einfach auf irgend einen Wert gesetzt wird. Tu das nicht! Ebenso eine Zwangslocale, wie von Dir implizit gefordert, ist keine so gute Idee. Manchmal will man vielleicht gar keine locale laden, und es gibt unterschiedliche Locale- Systeme. Zum Bleistift findet es PyQt* nicht so gut, wenn man in diesen locales rumfummelt, da es ein eigenes Locale-System mitbringt, das sich auf die Oberfläche erstreckt, etc...pp.
ich wollt eigendlich nur eine Deutsche ausgabe von strftime.
Gruß Manfred
PS: wie ich schon schrieb klappt es, wenn ich encoding mit angebe.
und wie ich schon schrieb, klappt es auch ganz OHNE Werte: locale.setlocale(locale.LC_ALL, '') und die Banane ist geschält!
participants (2)
-
Hans-Peter Jansen
-
Manfred Gil