Share This
Связаться со мной
Крути в низ
Categories
//Как использовать объект timedelta для работы с датами в Python

Как использовать объект timedelta для работы с датами в Python

01.07.2021Category : Python

Зачем нам нужен объект timedelta?

При работе с датой и временем в Python вам достаточно часто придется иметь дело с модулем datetime. В данной статье мы поговорим о том, как использовать объект timedelta модуля datetime в Python для работы с датами. Данный объект указывает на промежуток времени и используется, когда нам нужно выполнить простые арифметические операции с объектами datetime.

kak ispolzovat obekt timedelta dlja raboty s datami v python 8ef1689 - Как использовать объект timedelta для работы с датами в Python

В частности, мы научимся (на примерах кода) делать следующее вещи:

  1. Создавать базовый объект timedelta
  2. Выводить текущую дату и время
  3. Рассчитывать дату в будущем
  4. Рассчитывать дату в прошлом
  5. Вычислять время, прошедшее с момента определенного события, или время, оставшееся до наступления определенного события.

Необходимые импорты

Прежде чем приступить к выполнению перечисленных выше задач, давайте сначала импортируем необходимые модули, как показано во фрагменте кода ниже:

# Import Necessary Modules from datetime import date from datetime import time from datetime import datetime from datetime import timedelta

Как создать базовый объект timedelta в Python

Для начала давайте создадим базовый объект timedelta:

time_delt1 = timedelta(days=270, hours=9, minutes=18) print(time_delt1)  # Пример вывода # 270 days, 9:18:00

Итак, мы успешно создали объект timedelta. Теперь нам нужно создать «эталонное» время, чтобы можно было применить созданный нами объект timedelta для выполнения каких-нибудь арифметических действий. Сделаем это на следующем шаге.

Как вывести текущую дату и время в Python

Прежде чем проводить какие-либо вычисления, давайте зададим отправную точку. К примеру, возьмем текущую дату.

Получить текущую дату и время можно при помощи вызова метода now() объекта datetime, как показано во фрагменте кода ниже:

time_now = datetime.now() print(time_now)  # Пример вывода # 2021-06-22 17:49:18.574503

Как рассчитать дату в будущем в Python

Теперь давайте посчитаем, какая дата будет после промежутка time_delt1, который мы создали ранее.

Чтобы вычислить будущий момент времени, нам нужно только добавить диапазон, определенный объектом timedelta, к текущему времени.

future_date1 = time_now + time_delt1 print(future_date1)  # Пример вывода # 2022-03-20 03:07:18.574503

Теперь давайте рассмотрим другой пример, в котором мы хотим знать, какой день наступит через определенное количество дней, скажем, 189.

future_date2 = time_now + timedelta(days=189) print(future_date2)  # Пример вывода # 2021-12-28 17:49:18.574503

Как рассчитать дату в прошлом в Python

Как вы уже, наверное, догадались, чтобы узнать, какой день был 189 дней назад, нам нужно только заменить «+» на «-» в приведенном выше примере. Вот как это выглядит:

past_date1 = time_now - timedelta(days=189) print(past_date1)  # Пример вывода # 2020-12-15 17:49:18.574503

Как рассчитать прошедшее или оставшееся время в Python

Давайте теперь посчитаем, сколько времени осталось до Дня учителя в этом году в России отмечается 05 октября). Сделать это можно следующим образом. Чтобы вычислить с учетом сегодняшнего дня, мы можем вызвать метод today() объекта date для получения сегодняшней даты.

Синтаксис: today = date.today() # Возвращает сегодняшнюю дату

teachers_day = date(time_now.year, 10, 5) today = date.today()

Затем мы можем узнать, сколько дней осталось до Дня учителя, используя следующий фрагмент кода:

time_to_td = teachers_day - today print(f"Teachers' day is {time_to_td.days} days away")  # Пример вывода # Teachers' day is 105 days away

Также возможно, что в этом году День учителя пройдет к тому времени, когда вы прочтете эту статью 😀. Если День учителя в этом году уже прошел, сделайте следующее:

  1. Обновите интересующую дату на дату Дня учителя в следующем году.
  2. Подсчитайте, сколько дней осталось до Дня Учителя в следующем году.

Это показано в следующем фрагменте кода:

if teachers_day < today:    print(f"This year's Teachers' Day was {(today-teachers_day).days} days ago")    teachers_day = date(time_now.year + 1, 10, 5)    time_to_td = teachers_day - today    print(f"Next year's Teachers' day is {time_to_td.days} days away")

Заключение

Итак, мы разобрали, как применять объект timedelta для работы с датами в Python. Поговорили о том, как его использовать для выполнения простых арифметических действий с датами и для вычисления прошлой и будущей даты. Мы также теперь умеем рассчитать время, прошедшее с момента определенного события, или время, оставшееся до определенного события.

Надеемся, вы нашли эту статью полезной. Спасибо за чтение!

kak ispolzovat obekt timedelta dlja raboty s datami v python dcdbb62 - Как использовать объект timedelta для работы с датами в Python

Хотите решать больше задач по Python

Подписывайтесь на нас в Телеграм

Подписаться ×

  • 9 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Связаться со мной
Close