Trouvez la date de fin si nous avons la date de début et l'intervalle. Hors liste de vacances et week-ends personnalisés. En Python (Django)

Aug 17 2020

Donc, ce que j'essaie de réaliser, c'est.

start_date = "2020-07-16"
number_of_days = 15
holidays = ["2020-07-19",2020-07-21]

Maintenant, je veux calculer la date de fin soit 16 août + 15 jours en excluant tous les jours fériés personnalisés que je donne dans la liste et tous les week-ends (dimanches + samedis).

Toutes les suggestions sur la façon dont je pourrais y parvenir. La solution que j'ai trouvée jusqu'à présent est celle-ci en utilisant NumPy mais cela ne répond pas à mes exigences.

Réponses

2 MareksNo Aug 17 2020 at 18:11
total_days = number_of_days
for i in number_of_days:
    current_day = start_data + timedelta(days=i)
    if current_day in holidays:
        total_days += 1
    elif current_day.isoweekday() in [6, 7]:
        total_days += 1
end_date = start_date + timedelta(days= total_days)

J'espère que cela peut au moins se rapprocher de la réponse que vous voulez, je ne suis pas sûr de la syntaxe exacte car je suis actuellement sur un téléphone.

Mais en regardant la réponse NumPy, qu'est-ce que cela ne répond pas exactement à vos exigences?