Подтвердить что ты не робот

Смещение времени питона

Как я могу применить смещение в текущее время в python?

Другими словами, уметь получать текущее время минус x часов и/или минус m минут и/или минус s секунд и/или минус миллисекунды секунды

например

curent time = 18:26:00.000

offset = 01:10:00.000

=>resulting time = 17:16:00.000
4b9b3361

Ответ 1

Используйте datetime.datetime(), затем добавьте или вычтите 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() арифметика не поддерживается для объектов datetime.time(); если вам нужно использовать смещения из существующего объекта datetime.time(), просто используйте datetime.datetime.combine() для создания экземпляра datetime.datetime(), выполните ваши вычисления и "извлеките" время снова с помощью метода .time():

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