Aquí está mi código para obtener la fecha y la hora cuando la hora de inicio es las 10 a.m. ((2017, 10, 29, 10, 0) y luego la fecha hasta las 10 a.m. del día siguiente. Ahora, quiero extraer solo la hora de eso y recibo de 10:00 a.m. a 10 a.m. al día siguiente, así que mi resultado debería ser

(10:00,11:00,12:00,13:00,14:00,15:00,16:00,17:00,18:00,19:00,20:00,21:00,22:00,23:00,00:00,1:00,2:00,3:00,4:00,5:00,6:00,7:00,8:00,9:00,10:00)

Estaría agradecido si alguien pudiera ayudarme a este respecto.

import datetime

a=datetime.datetime.combine(datetime.date.today(), datetime.time(10))

x = [a + datetime.timedelta(hours=i) for i in range(24)]
0
hima Fernando 30 oct. 2017 a las 06:04

3 respuestas

La mejor respuesta

El time() del método { La clase {X1}} devuelve la parte "hora" de la fecha / hora. Al usarlo, puede lograr lo que busca de la siguiente manera:

times = [dt.time() for dt in x]
1
Mac 30 oct. 2017 a las 03:17

Puedes modificarlo un poco:

["{}:00".format((a + datetime.timedelta(hours=i)).hour) for i in range(24)]
                                                   ^

Tome solo el hour del objeto datetime y formateelo de la manera que desee.

SALIDA

['10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00', '21:00', '22:00', '23:00', '0:00', '1:00', '2:00', '3:00', '4:00', '5:00', '6:00', '7:00', '8:00', '9:00']
0
alfasin 30 oct. 2017 a las 03:20

Probar esto

today = datetime.datetime.today()
x = [ ( (today + datetime.timedelta(hours=i)).hour ) for i in range(24)]
print(x)

Cada hoy más i hora y obtener su hora de atributo

0
陳耀融 30 oct. 2017 a las 03:41