Convertir datetime a tiempo en python

Tengo test_date = “2017-07-20-10-30” y luego uso day = datetime.strptime (test_date [11:], “% H-% M”) que me da 1900-01-01 10:30: 00.

¿Cómo puedo obtener: 10:30:00 como tipo ‘datetime.time’?

Puede usar el método strftime del objeto datetime esta manera:

 day.strftime('%H:%M') 

Más información aquí: https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

Ok, lo entendí mal. Use day.time() para obtener un objeto de time .

puede analizar su cadena usando datetime.strptime a un objeto datetime y luego llamar a .time() para obtener la hora:

 from datetime import datetime strg = "2017-07-20-10-30" dt = datetime.strptime(strg, '%Y-%m-%d-%H-%M') tme = dt.time() print(tme) # 10:30:00 

El strftime() y strptime() está bien documentado.

Por supuesto también puedes encadenar estas llamadas:

 tme = datetime.strptime(strg, '%Y-%m-%d-%H-%M').time()