Nur Monat und Jahr eines Datum als String ausgeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
reddy
User
Beiträge: 21
Registriert: Donnerstag 17. März 2016, 23:29

Hallo,

wie kann ich aus einem Datum nur Monat und Jahr als String ausgeben?
Z.B.
import datetime
now = "16.02.1993"
now = datetime.datetime.strptime(now, '%m.%Y')
print(now)

Ich bekomme einen Fehler. Das Ergebnis soll aber: "02.1993" sein.

ValueError: time data '16.02.1993' does not match format '%m.%Y'
Benutzeravatar
pyHoax
User
Beiträge: 84
Registriert: Donnerstag 15. Dezember 2016, 19:17

reddy hat geschrieben:Hallo,

wie kann ich aus einem Datum nur Monat und Jahr als String ausgeben?
Z.B.
import datetime
now = "16.02.1993"
now = datetime.datetime.strptime(now, '%m.%Y')
print(now)

Ich bekomme einen Fehler. Das Ergebnis soll aber: "02.1993" sein.

ValueError: time data '16.02.1993' does not match format '%m.%Y'
Das Dateformat im Befehl strptime dient zur Beschreibung deines Eingabedatums. Du bekommst auch keinen String sondern ein datetime Objekt von dieser Funktion zurück.
Mit dem Befehl strftime kannst du das datetime Objekt anhand deines gewünschten Datumformats wieder in einen String umwandeln.
now = datetime.datetime.strptime(now, '%d.%m.%Y')
print(datetime.datetime.strftime(now,'%m.%Y'))
reddy
User
Beiträge: 21
Registriert: Donnerstag 17. März 2016, 23:29

Danke schön für die Erklärung und schnelle Hilfe! :-)
Antworten