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()