Может возникнуть ситуация, когда необходимо вычислить количество дней между двумя датами. Например, при расчете сроков выполнения задач, анализе временных рядов и так далее. Рассмотрим случай, когда имеются две даты: '1/1/2020'
и '1/10/2020'
.
Python предоставляет несколько способов для расчета разницы между датами.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Использование модуля datetime
Встроенный в Python модуль datetime позволяет работать с датами и временем. Для расчета количества дней между двумя датами, можно использовать следующий код:
from datetime import datetime date1 = datetime.strptime('1/1/2020', '%m/%d/%Y') date2 = datetime.strptime('1/10/2020', '%m/%d/%Y') num_days = (date2 - date1).days
В этом примере используется функция strptime
чтобы преобразовать строковое представление дат в объекты datetime
. Затем, вычитая одну дату из другой, получаем объект timedelta
, у которого есть атрибут days
, показывающий разницу в днях между двумя датами.
Использование модуля dateutil
Модуль dateutil — это сторонняя библиотека Python, которая предоставляет расширенные функции для работы с датами. Вот как можно использовать его для расчета количества дней между двумя датами:
from dateutil.parser import parse date1 = parse('1/1/2020') date2 = parse('1/10/2020') num_days = (date2 - date1).days
В этом случае используется функция parse
для преобразования строкового представления дат в объекты datetime
. Далее, так же как и в предыдущем примере, вычисляется разность дней между датами.
Оба этих метода позволяют легко и быстро вычислить количество дней между двумя датами в Python.
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Добавить комментарий