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

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

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

  • 1 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован.

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

Свежие комментарии

    Рубрики

    About Author 01.

    blank
    Roman Spiridonov

    Моя специальность - Back-end Developer, Software Engineer Python. Мне 39 лет, я работаю в области информационных технологий более 5 лет. Опыт программирования на Python более 3 лет. На Django более 2 лет.

    Categories 05.

    © Speccy 2022 / All rights reserved

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