Чтобы проверить, попадает ли дата между двумя заданными датами в 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
Эти методы позволяют сравнивать даты и проверять, попадает ли целевая дата между указанными датами начала и окончания. Не стесняйтесь выбирать тот, который лучше всего соответствует вашим потребностям.