2017-02-24 2 views
0

Ich habe Probleme haviing von diesem Format in Python konvertieren:Wie erstellt man ein Datetime-Objekt aus einer Unicode-Zeichenfolge?

u'08:00:00' 

zu einem datetime Objekt wie:

datetime.datetime(2017,02,22,8,0,0) 

Was ist eine einfache Möglichkeit, dies zu tun?

ich es nur um die String Parsen aber auf der Suche nach elegantere Lösung

+1

Mögliche doppelte von [String in Datetime umwandeln] (http://stackoverflow.com/questions/466345/converting-string-into-datetime) –

+0

das ist Unicode obwohl nein t Zeichenfolge. ? – Sother

Antwort

1

Zuerst Sie die Zeit Zeichenfolge analysieren müssen tun können. Sie können von Hand tun, oder datetime.strptime() verwenden:

from datetime import datetime 

s = u'08:00:00' 
t = datetime.strptime(s, '%H:%M:%S').time() 

strptime() kümmert sich nicht darum, dass Sie es eine Unicode-String geben. Das gibt Ihnen ein datetime.time Objekt:

>>> t 
datetime.time(8, 0) 

Dann datetime.combine() nutzen die Zeit mit dem heutigen Datum zu kombinieren:

from datetime import date 

dt = datetime.combine(date.today(), t) 

Dies gibt Ihnen die erforderliche datetime.datetime Objekt:

>>> dt 
datetime.datetime(2017, 2, 24, 8, 0) 
Verwandte Themen