ค้นหาวันที่สิ้นสุดหากเรามีวันที่เริ่มต้นและช่วงเวลา ไม่รวมรายการวันหยุดที่กำหนดเองและวันหยุดสุดสัปดาห์ ใน Python (Django)

Aug 17 2020

ดังนั้นสิ่งที่ฉันพยายามจะบรรลุคือ

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

ตอนนี้ฉันต้องการคำนวณวันที่สิ้นสุดคือ 16 สิงหาคม + 15 วันไม่รวมวันหยุดที่กำหนดเองทั้งหมดที่ฉันให้ไว้ในรายการและวันหยุดสุดสัปดาห์ทั้งหมด (วันอาทิตย์ + วันเสาร์)

ข้อเสนอแนะใด ๆ เกี่ยวกับวิธีที่ฉันจะบรรลุ วิธีแก้ปัญหาที่ฉันพบจนถึงตอนนี้คือการใช้ NumPy แต่ไม่ตรงตามความต้องการของฉัน

คำตอบ

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)

ฉันหวังว่าอย่างน้อยสิ่งนี้จะสามารถเข้าใกล้คำตอบที่คุณต้องการได้ฉันไม่แน่ใจว่าเกี่ยวกับไวยากรณ์ที่แน่นอนในขณะที่ฉันกำลังใช้โทรศัพท์

แต่ดูที่คำตอบ NumPy แล้วอะไรที่ไม่ตรงกับความต้องการของคุณ?