2016-09-04 2 views
1

Der aktuelle Datetime wird über einen Ajax-Request übergibt zu einem django Backend, wo sie in der Datenbank gespeichert werden. So speichern sie in der Datenbank muss das Datum zuerst zu einem datetime Objekt umgewandelt werden, die für ein Datum des im UTC-Format (. Eg Sun, 04 Sep 2016 07:13:06 GMT) erfolgen kann leicht durch die folgende Erklärung ab:Javascript Datum Zeichenfolge Python Datetime Objekt

>>> from datetime import datetime 
>>> datetime.strptime("Sun, 04 Sep 2016 07:13:06 GMT", "%a, %d %b %Y %H:%M:%S %Z") 

jedoch in einem solchen Bei einer Methode wird die Zeitzone des Benutzers nicht beibehalten.

Der JavaScript Date Konstruktoraufruf d.h. new Date() ein Datum im Format zurückgibt:

Sun Sep 04 2016 12:38:43 GMT+0530 (IST) 

die einen Fehler gibt, wenn auf Datetime-Objekt umgewandelt wird.

>>> datetime.strptime("Sun, 04 Sep 2016 07:13:06 GMT+0530 (IST)", "%a, %d %b %Y %H:%M:%S %Z") 

ValueError: time data 'Sun Sep 04 2016 12:46:07 GMT+0530 (IST)' does not match format '%a, %d %b %Y %H:%M:%S %Z' 

1) Wie man dieses Problem löst? 2) Gibt es einen besseren Weg, um es zu nähern?

Antwort

0

Ihr erstes Problem ist, dass die Eingabe ein anderes Format hat. Aber unglücklicherweise für dich ist das nicht dein einziges Problem und es würde nicht funktionieren, selbst wenn du das behoben hättest.

Die Wahrheit ist, dass auch das erste Format mit einer anderen Zeitzone scheitern würde:

datetime.strptime("Sun, 04 Sep 2016 07:13:06 IST", "%a, %d %b %Y %H:%M:%S %Z") 

nicht mit:

ValueError: time data 'Sun, 04 Sep 2016 07:13:06 IST' does not match format '%a, %d %b %Y %H:%M:%S %Z' 

strptime einfach nicht gut genug ist für den Umgang mit Zeitzonen.

Schauen Sie sich diese Antworten für Ihre Wahlen:

3

Sie können dateutil Modul Python verwenden Sie das Datum zu analysieren.

from dateutil import parser 
parser.parse("Sun, 04 Sep 2016 07:13:06 GMT+0530 (IST)") 

Es gibt die Ausgabe als Datetime-Objekt:

datetime.datetime(2016, 9, 4, 7, 13, 6, tzinfo=tzoffset(u'IST', -19800)) 
Verwandte Themen