Cómo agregar horas a la hora actual en python


158

Puedo obtener la hora actual de la siguiente manera:

from datetime import datetime
str(datetime.now())[11:19]

Resultado

'19:43:20'

Ahora, estoy tratando de agregar 9 hoursal tiempo anterior, ¿cómo puedo agregar horas a la hora actual en Python?


12
Para obtener el formato de la hora actual de esa manera, eche un vistazo adatetime.now().strftime('%H:%M:%S')
eumiro

Respuestas:


368
from datetime import datetime, timedelta

nine_hours_from_now = datetime.now() + timedelta(hours=9)
#datetime.datetime(2012, 12, 3, 23, 24, 31, 774118)

Y luego use el formato de cadena para obtener las piezas relevantes:

>>> '{:%H:%M:%S}'.format(nine_hours_from_now)
'23:24:31'

Si solo está formateando la fecha y hora, puede usar:

>>> format(nine_hours_from_now, '%H:%M:%S')
'23:24:31'

O, como @eumiro ha señalado en los comentarios: strftime


¿Por qué no es esta la mejor respuesta? Hay algún efecto secundario? error no reportado?
Braza

66
@Braza the OP simplemente no ha elegido aceptarlo. Sin efectos secundarios ni errores.
Jon Clements

@ JonClements Gracias por su respuesta :). Lo probé y confirmo.
Braza

3
Sin embargo, esto no es seguro para el horario de verano.
Antti Haapala

1
La pregunta pregunta cómo sumar horas, pero restar horas podría hacerse de dos maneras: 1) Use el operador de resta ( -) en lugar del operador de suma ( +); de acuerdo con la documentación "los timedeltaobjetos admiten ciertas sumas y restas con fecha y datetimeobjetos" 2) Pase un valor negativo a cualquiera de los timedeltaparámetros; de acuerdo con la documentación , "Los argumentos pueden ser largos, largos o flotantes, y pueden ser positivos o negativos".
The Red Pea

20

Importar datetime y timedelta :

>>> from datetime import datetime, timedelta
>>> str(datetime.now() + timedelta(hours=9))[11:19]
'01:41:44'

Pero la mejor manera es:

>>> (datetime.now() + timedelta(hours=9)).strftime('%H:%M:%S')
'01:42:05'

Puede hacer referencia strptimey strftimecomportamiento para comprender mejor cómo procesa Python las fechas y el campo de tiempo


Los enlaces a los documentos de Python brindan información sobre el análisis y el formato de fecha / hora .
hc_dev
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.