Python: как проверить, попадает ли дата между двумя датами

Чтобы проверить, попадает ли дата между двумя заданными датами в Python, вы можете использовать несколько методов. Вот несколько подходов:

Метод 1. Использование модуля datetime

from datetime import datetime
def check_date_between(start_date, end_date, target_date):
    start_date = datetime.strptime(start_date, "%Y-%m-%d")
    end_date = datetime.strptime(end_date, "%Y-%m-%d")
    target_date = datetime.strptime(target_date, "%Y-%m-%d")

    return start_date <= target_date <= end_date
# Example usage
start_date = "2023-01-01"
end_date = "2023-12-31"
target_date = "2023-07-15"
result = check_date_between(start_date, end_date, target_date)
print(result)  # True if target_date falls between start_date and end_date, False otherwise

Метод 2. Использование модуля dateutil

from dateutil.parser import parse
def check_date_between(start_date, end_date, target_date):
    start_date = parse(start_date).date()
    end_date = parse(end_date).date()
    target_date = parse(target_date).date()

    return start_date <= target_date <= end_date
# Example usage
start_date = "2023-01-01"
end_date = "2023-12-31"
target_date = "2023-07-15"
result = check_date_between(start_date, end_date, target_date)
print(result)  # True if target_date falls between start_date and end_date, False otherwise

Метод 3. Использование модуля стрелок

import arrow
def check_date_between(start_date, end_date, target_date):
    start_date = arrow.get(start_date, "YYYY-MM-DD")
    end_date = arrow.get(end_date, "YYYY-MM-DD")
    target_date = arrow.get(target_date, "YYYY-MM-DD")

    return start_date <= target_date <= end_date
# Example usage
start_date = "2023-01-01"
end_date = "2023-12-31"
target_date = "2023-07-15"
result = check_date_between(start_date, end_date, target_date)
print(result)  # True if target_date falls between start_date and end_date, False otherwise

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