2012-04-05 4 views
0

Ich muss die imap-Mail von Gmail mit einem Python-Skript mit Django lesen, und es funktioniert gut, außer für das Datum.So wandeln Sie ein englisches Google Mail-Imap-Datum in ein französisches Datumsformat um

packe ich das Datum in dieses Format: '2 Apr 2012 13:21:43' und verwenden strptime:

date = strptime(date, "%d %b %Y %H:%M:%S") 

Aber ich habe einen Fehler bekommen, weil meine locale fr_FR und in Frankreich ist Apr ist kein gültiger Monat Abkürzung, und ich don kenne den von Google verwendeten anderen Monatsnamen nicht. Wenn ich wüsste, es kann ich eine Zuordnung machen:

{'Apr':'avr.',...} 

Hat jemand eine Idee, wie ich das richtige Gebietsschema verwenden könnte? Kann ich die Zeitzone auf meinem strptime verwenden, um anzuzeigen, dass das Datum in einem englischen Format ist?

Antwort

0

import locale 
locale.setlocale(locale.LC_ALL,'en_US') 

aktualisieren

Versuchen Sie einen Blick auf dateutil Paket haben auch http://pypi.python.org/pypi/python-dateutil/1.5 , wenn Sie Ihren Standort nicht ändern würde. Es funktioniert mit Ihrem Beispiel, wenn ich fr_FR Gebietsschema einstelle.

from dateutil import parser 
date = '2 Apr 2012 13:21:43' 
date = parser.parse(date) 
+0

Ja sein kann, es ist Arbeit, aber ich will nicht meine lokale Menge ändern, den ich diesen gmail imap-Parser auf einem django Projekt, und ich mag nicht etwas Datum Job wegen meiner brechen Gebietsschema ändern ... – laurent

+0

@laurent Überprüfen Sie meine aktualisierte Antwort bitte –

+0

Ja, ich versuche diese Lösung, scheint gut ... thx – laurent

Verwandte Themen