Konvertierung von python string zu datetime obj mit AM/PM

einfaches problem, aber das nervt mich:

Sagen, ich habe einen string wie diesen:

test = '2015-08-12 13:07:32'

Umwandeln in ein datetime-Objekt und ändern Sie ihn AM/PM-Angabe, sollte dies nicht funktionieren?

datetime.datetime.strptime(test, '%Y-%m-%d %I:%M:%S %p')

Ich erhalte eine Fehlermeldung wie diese:
ValueError: time data '2015-08-12 13:07:32' does not match format '%Y-%m-%d %I:%M:%S %p'

Auch, für bonus-Punkte:

Wenn ich bereits etwas im datetime-format, wie kann ich es ändern, aus diesem Zustand? (wenn ich wollte zu halten, als ein datetime-Objekt, sondern nur neu formatieren, um es AM/PM)

  • Willst du den string mit AM/PM zurück? Datetime-Objekte nicht als solche haben, diese Informationen zu speichern , da das Datum intern gespeichert ist in einer anderen Darstellung.
  • sagen Sie datetime-Objekte können nicht dargestellt werden im AM/PM-format? Bin ich verlesen dieser Beitrag? (stackoverflow.com/questions/1759455/...)
  • Nein, was ich sage, ist strptime() verwendet wird, für das konvertieren von Zeichenfolgen in datetime-Objekt, müssen Sie angeben, in welchem format das Datum ist in der Zeichenfolge vorhanden, nicht das format, in dem Sie es zurück. Datetime kann sich leicht ausrechnen, die "AM/PM" für die Stunden.
Schreibe einen Kommentar