DDayThistle
พื้นที่เขียนโค้ดด้วย AI

การเลื่อนวันทำงานโดยนับวันหยุด

เลื่อนวันที่ตั้งแต่ลบ 366 ถึง 366 วันทำงาน โดยข้ามสุดสัปดาห์และวันหยุดไม่เกิน 1000 วัน.

● ● ●DayThistle●
ขั้นตอนการทำงาน · การเลื่อนวันทำงานโดยนับวันหยุด ×
from datetime import date, timedelta

def working_day_shift(start, days, holidays):
    if type(start) is not date or type(days) is not int or not -366 <= days <= 366:
        raise ValueError("days.input")
    if type(holidays) is not set or len(holidays) > 1000 or any(type(d) is not date for d in holidays):
        raise ValueError("days.holidays")
    remaining, step = abs(days), 1 if days >= 0 else -1
    for _ in range(7*(remaining+len(holidays))+7):
        if remaining == 0:
            return start
        try:
            start += timedelta(days=step)
        except OverflowError as error:
            raise ValueError("days.range") from error
        if start.weekday() < 5 and start not in holidays:
            remaining -= 1
    raise RuntimeError("days.steps")
✳การเลื่อนวันทำงานโดยนับวันหยุด
✓ การเปลี่ยนแปลงตรวจสอบก่อนนำไปใช้ ↗
ภาพประกอบพื้นที่ทำงาน
โปรเจกต์
ทดสอบศูนย์ ย้อนกลับ และขอบเขตปฏิทิน ปฏิเสธวันที่ผิดโดยไม่เปลี่ยนวันหยุด.
ตรวจสอบก่อนนำไปใช้
เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม
โมเดล
ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก
ขั้นตอนการทำงาน

การเลื่อนวันทำงานโดยนับวันหยุด

ขั้นตอนการทำงาน ↗
ขั้นตอนการทำงาน
from datetime import date, timedelta

def working_day_shift(start, days, holidays):
    if type(start) is not date or type(days) is not int or not -366 <= days <= 366:
        raise ValueError("days.input")
    if type(holidays) is not set or len(holidays) > 1000 or any(type(d) is not date for d in holidays):
        raise ValueError("days.holidays")
    remaining, step = abs(days), 1 if days >= 0 else -1
    for _ in range(7*(remaining+len(holidays))+7):
        if remaining == 0:
            return start
        try:
            start += timedelta(days=step)
        except OverflowError as error:
            raise ValueError("days.range") from error
        if start.weekday() < 5 and start not in holidays:
            remaining -= 1
    raise RuntimeError("days.steps")
พื้นที่เขียนโค้ดด้วย AI

ระบุกฎจัดตารางให้ชัดก่อนแก้โค้ดวันที่

โค้ดจัดตารางมักผสมนโยบายธุรกิจกับเลขคณิตปฏิทินทั่วไป DayThistle เป็นพื้นที่เขียนโค้ดด้วย AI บน Windows ที่แยกคำถามเหล่านั้นได้ขณะตรวจโครงการ เริ่มด้วยวันที่แอปพลิเคชันให้ วันที่คาดหวัง และกฎเบื้องหลังความคาดหวัง ขอให้โมเดลที่เชื่อมต่อตรวจโค้ดที่เกี่ยวข้องก่อนเสนอแก้

ตัวอย่างเช่น คุณอาจขอให้ตรวจฟังก์ชันกำหนดเส้นตายที่ข้ามวันสุดสัปดาห์และชุดวันหยุดที่ส่งให้ อธิบายว่านับวันเริ่มหรือไม่ การเลื่อนค่าลบทำงานอย่างไร และใครให้ข้อมูลวันหยุด ขอข้อเสนอที่รักษาการตัดสินใจเหล่านี้ทั้งในผู้เรียกและฟังก์ชัน ไม่สมมติว่าวันทำงานมีคำนิยามสากลเดียว

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

DayThistle เชื่อมต่อปลายทางที่รองรับและเข้ากันได้กับ OpenAI หรือปลายทาง Anthropic คุณเลือกโมเดล AI ไร้การเซ็นเซอร์ที่บริการมีให้ได้ เครื่องมือและบริบทที่มีอยู่ยังขึ้นอยู่กับเซิร์ฟเวอร์ เขียนนโยบายไว้ในงานเพื่อให้โมเดลช่วยเขียนโค้ดโดยไม่แอบตัดสินว่าองค์กรของคุณจัดตารางงานอย่างไร

คำถามเบื้องหลังการแก้วันทำงาน

DayThistle มีปฏิทินวันหยุดให้หรือไม่?

งานตัวอย่างใช้ข้อมูลวันหยุดที่แอปพลิเคชันของคุณให้ ระบุแหล่งและขอบเขตความครอบคลุมที่คาดหวังในคำขอ อย่าสมมติว่าการเปิดพื้นที่ทำงานให้วันหยุดภูมิภาคปัจจุบันหรือเลือกว่าวันสำคัญใดกระทบเส้นตาย

ควรนับวันเริ่มในการเลื่อนหรือไม่?

ระบุกฎนี้ชัดและรวมกรณีทดสอบที่วันเริ่มเป็นวันทำงาน นโยบายต่างกันให้คำตอบต่างกัน ขอให้ผู้ช่วยรักษาข้อตกลงที่เลือกทั้งการเลื่อนไปข้างหน้าและย้อนหลัง

จะแยกข้อมูลวันหยุดผิดจากข้อบกพร่องโค้ดอย่างไร?

เก็บชุดวันหยุดที่แน่นอนไว้กับกรณีทดสอบที่ล้มเหลวและตรวจเนื้อหาก่อนเปลี่ยนการคำนวณ เทียบผลกับนโยบายที่เขียนไว้ วันหยุดที่ขาดและเงื่อนไขข้ามวันที่ผิดต้องแก้คนละแบบ

หากลูปที่เสนอไม่มีเงื่อนไขหยุดชัดเจนล่ะ?

ถามว่าโค้ดจำกัดการเลื่อนที่รองรับและจัดการค่าล้นปฏิทินอย่างไร ตรวจพฤติกรรมนั้นก่อนยอมรับ รันการทดสอบขอบเขตพร้อมวันที่ทั่วไปเพื่อไม่ให้การแก้เส้นตายหนึ่งกรณีนำไปสู่การคำนวณไม่สิ้นสุด

ดาวน์โหลดสำหรับ Windows ↗

DayThistle · อัปเดตล่าสุด 2026-10-25