compensación de tiempo de Python

¿Cómo puedo aplicar un desplazamiento en la hora actual en python?

En otros términos, podrá obtener la hora actual menos x horas y / o menos m minutos y / o menos s segundos y / o menos ms milisegundos

por ejemplo

curent time = 18:26:00.000 offset = 01:10:00.000 =>resulting time = 17:16:00.000 

Use datetime.datetime() , luego agregue o reste las instancias de datetime.timedelta() .

 >>> import datetime >>> t = datetime.datetime.now() >>> t - datetime.timedelta(hours=1, minutes=10) datetime.datetime(2012, 12, 26, 17, 18, 52, 167840) 

timedelta() aritmética timedelta() no es compatible con los objetos datetime.time() ; Si necesita usar las compensaciones de un objeto datetime.time() existente, simplemente use datetime.datetime.combine() para formar una instancia de datetime.datetime() , haga sus cálculos y ‘extraiga’ el tiempo nuevamente con el .time() método:

 >>> t = datetime.time(1, 2) >>> dt = datetime.datetime.combine(datetime.date.today(), t) >>> dt datetime.datetime(2012, 12, 26, 1, 2) >>> dt -= datetime.timedelta(hours=5) >>> dt.time() datetime.time(20, 2)