Başlangıç ​​Tarihi ve Aralığı Varsa Bitiş Tarihini Bulun. Özel tatil listesi ve hafta sonları hariç. Python'da (Django)

Aug 17 2020

Yani, başarmaya çalıştığım şey.

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

Şimdi bitiş tarihini, yani listede verdiğim tüm özel tatiller ve tüm hafta sonları (Pazar + Cumartesi) hariç 16 Ağustos + 15 gün hesaplamak istiyorum.

Bunu nasıl başarabileceğime dair herhangi bir öneri. Şimdiye kadar bulduğum çözüm bu NumPy kullanıyor ancak gereksinimlerimi karşılamıyor.

Yanıtlar

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)

Umarım bu en azından istediğiniz cevaba yaklaşabilir, şu anda bir telefonda olduğum için tam sözdiziminden emin değilim.

Ama NumPy cevabına bakarsak, gereksinimlerinizi tam olarak ne karşılamıyor?