2017-02-20 6 views
0

Ich versuche, eine Zeichenfolge in ein Datetime-Objekt zu konvertieren ...Zeichenfolge in Datetime-Objekt in Python Umwandlung

time = '10:00:00' 
date = '2016-10-03' 
date = date + ' ' + time 
print date 
date = datetime.strptime(date, '%Y-%m-%d %H:%M:%y') 
print date 

diese ausdruckt:

2016-10-03 10:00:00 
2000-10-03 10:00:00 

es aus irgendeinem Grund das Jahr ändert Datum ..

, wenn ich tun:

date = '2016-10-03' 
date = datetime.strptime(date, '%Y-%m-%d') 
print date 

Es funktioniert richtig und ich:

2016-10-03 

Wie kommt es, wenn ich die Zeit dort hinzuzufügen das Jahr verändert?

Dank

+1

Das% y am Ende sollte ein% S -> Sekunden sein, nicht Jahr in der Zeit. @ McGrady hat mich dazu geschlagen! Prost! –

Antwort

5

Try this:

time = '10:00:00'          
date = '2016-10-03'          
date = date + ' ' + time         
print date            
print datetime.strptime(date, '%Y-%m-%d %H:%M:%S')  

% y Jahr ohne Jahrhundert als Nullen aufgefüllt Dezimalzahl.
% Y Jahr mit dem Jahrhundert als Dezimalzahl.

Es scheint, dass Sie gerade einen Rechtschreibfehler gemacht haben. Vielleicht, was Sie wollen, ist %Y-%m-%d %H:%M:%S'.

Weitere Informationen finden Sie unter datetime Python .Hope das hilft.

+0

Anfängerfehler !! Vielen Dank! – nrs90

+0

@ nrs90 Wenn das die Antwort war, kannst du es bitte akzeptieren? gibt dem Antworter mehr Rep und dann wird diese Frage als gelöst markiert – WhatsThePoint

+0

@McGrady das ist fertig, danke. – nrs90

Verwandte Themen