Ich erhalte eine Datumszeichenfolge im Format "2009-05-28T16:15:00" (ich glaube, das ist ISO 8601). Eine hackish Option scheint zu sein, die Zeichenfolge zu parsen mit time.strptime
und Übergabe der ersten sechs Elemente des Tupels an den datetime-Konstruktor, wie:
datetime.datetime(*time.strptime("2007-03-04T21:08:12", "%Y-%m-%dT%H:%M:%S")[:6])
Ich habe keine "saubere" Methode gefunden, dies zu tun. Gibt es eine?
28 Stimmen
Es ist zu bedenken, dass es sich nicht um ziemlich ein Duplikat des Problems, gegen das es geschlossen wurde. Das verlinkte Problem bezieht sich speziell auf RFC 3339 Zeichenketten, während diese sich auf ISO 8601-Zeichenketten bezieht. Die RFC 3339-Syntax ist eine Untermenge der ISO 8601-Syntax (die in der nicht kostenlosen ISO 8601-Norm definiert ist, die Sie, wie die meisten ISO-Normen, entweder raubkopieren oder eine hohe Gebühr bezahlen müssen, um sie zu lesen). Der in dieser Frage gezeigte Datumsstring ist ein ISO 8601 Datumsstring, aber KEIN RFC 3339 Datumsstring. UTC-Offsets sind in RFC 3339-Datetimes obligatorisch, und hier ist keiner vorgesehen.