Module (79%)
Section (87%)

Создание объектов timedelta

Вы уже узнали, что объект timedelta может быть возвращен в результате вычитания двух объектов date или datetime.

Конечно, Вы также можете создать объект самостоятельно. Для этого познакомимся с аргументами, принимаемыми конструктором класса, а именно: days, seconds, microseconds, milliseconds, minutes, hours и weeks. Каждый из них является необязательным и по умолчанию равен 0.

Аргументы должны быть целыми числами или числами с плавающей запятой и могут быть как положительными, так и отрицательными. Давайте посмотрим на простой пример в редакторе.

Результат:

16 days, 3:00:00

output

Результат в 16 дней получается путем преобразования аргумента weeks в дни (2 недели = 14 дней) и добавления аргумента days (2 дня). Это нормальное поведение, поскольку объект timedelta хранит внутри себя только дни, секунды и микросекунды. Аналогичным образом аргумент hour преобразуется в минуты. Взгляните на пример ниже:

from datetime import timedelta delta = timedelta(weeks=2, days=2, hours=3) print("Days:", delta.days) print("Seconds:", delta.seconds) print("Microseconds:", delta.microseconds)

Результат:

Days: 16 Seconds: 10800 Microseconds: 0

output

Результат 10800 получается путем преобразования 3 часов в секунды. Таким образом, объект timedelta сохраняет аргументы, переданные во время его создания. Недели конвертируются в дни, часы и минуты - в секунды, а миллисекунды - в микросекунды.



Code

from datetime import timedelta

delta = timedelta(weeks=2, days=2, hours=3)
print(delta)
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×