Ich versuche, Django dateutil.pareser.parse() zu verwenden, um das Datum '2016: 09: 24 17:08:45' zu '2016-09-24 17 zu ändern : 08: 45 '. Aber wenn ich den folgenden Code verwenden:Django dateutil analysiert das Datum auf das heutige Datum
the_timestamp = self.request.query_params.get('timestamp',0) # = '2016:09:24 17:08:45'
the_parsed_timestamp = dateutil.parser.parse(the_timestamp)
ich das Ergebnis the_parsed_timestamp = ‚2016.10.16 17.08.45‘. 2016-10-16 ist das heutige Datum.
Warum ersetzt dateutil.parser.parse das Datum durch das heutige Datum (und lässt den Zeitteil in Ruhe)?
Sie wissen, dass es immer im Format "% Y:% m:% d% H:% M: S"? Verwenden Sie in diesem Fall nicht "dateutil.parser", sondern "datetime.strptime". Trotzdem scheint dies ein Fehler zu sein. Sie sollten dies auf [dateutils issue tracker] (https://github.com/dateutil/dateutil/issues) melden - selbst wenn dieses Format nicht unterstützt wird, sollte es nicht automatisch fehlschlagen. – Paul
Übrigens vermute ich, dass es "2016: 09: 24" als "% H:% M:% S" interpretiert und die Art wie "dateutil" funktioniert, wenn Sie 2 HMS-Drillinge geben eine Zeile, die zweite überschreibt die erste Zeile. Wenn Sie "2016: 09: 24" selbst an den Parser übergeben, wird ein Fehler ausgegeben, weil "2016" zu groß ist. Sie können also einfach "17:08:45" übergeben. – Paul
Oh ok , also ist Parse nicht schlau genug für dieses Format? Mein Problem ist, dass ich nicht sicher bin, in welches Format die Datetime kommen wird, also hoffte ich, dass ich ein cleveres Dienstprogramm wie dateutil parse verwenden könnte, um das für mich zu sortieren. Gibt es einen Alernativen zu dateutil? –