В одном из предыдущих постов я уже рассказывал об библиотеки datetime. В этом посте я хочу продолжить знакомить Вас с этой библиотекой, а конкретнее, с ее классом timedelta.
Этот класс представляет собой заданный промежуток времени. И используется, в большинстве своем, для получения какой то прошедшей либо грядущей даты либо времени посредством вычитания или сложения двух дат. Например, если Вам нужно получить дату через час, дату вчерашнего дня, дату месяц назад и т.д.
Синтаксис:
datetime.timedelta(
days=0,
seconds=0,
microseconds=0,
milliseconds=0,
minutes=0,
hours=0,
weeks=0
)
Все аргументы являются необязательными и по умолчанию равны 0. Аргументы могут быть целыми или дробными, а может быть положительными либо отрицательными.
Примеры использования
Получаем дату вчерашнего дня:
from datetime import date, timedelta
print(date.today())
print(date.today() - timedelta(days=1))
2015-12-14
2015-12-13
Получаем дату месяц назад:
from datetime import date, timedelta
print(date.today())
print(date.today() - timedelta(days=31))
2015-12-14
2015-11-13
Получаем время через 2 часа назад:
from datetime import timedelta, datetime
print(datetime.now())
print(datetime.now() + timedelta(hours=2))
2015-12-14 13:59:00.724516
2015-12-14 15:59:00.724611
Получаем дату без трех часов как неделю назад:
from datetime import timedelta, datetime
print(datetime.now())
print(datetime.now() - timedelta(days=7, hours=3))
2015-12-14 14:05:31.426143
2015-12-07 11:05:31.426229