Может возникнуть ситуация, когда необходимо вычислить количество дней между двумя датами. Например, при расчете сроков выполнения задач, анализе временных рядов и так далее. Рассмотрим случай, когда имеются две даты: '1/1/2020'
и '1/10/2020'
.
Python предоставляет несколько способов для расчета разницы между датами.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Использование модуля datetime
Встроенный в Python модуль datetime позволяет работать с датами и временем. Для расчета количества дней между двумя датами, можно использовать следующий код:
1 2 3 4 5 6 | 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, которая предоставляет расширенные функции для работы с датами. Вот как можно использовать его для расчета количества дней между двумя датами:
1 2 3 4 5 6 | 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-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Добавить комментарий