DDayThistle
Pracovní prostředí s AI pro kód

Posuny pracovních dnů se svátky

Posuň datum o minus 366 až 366 pracovních dnů, vynech víkendy a až 1000 svátků.

● ● ●DayThistle●
Pracovní postupy · Posuny pracovních dnů se svátky ×
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")
✳Posuny pracovních dnů se svátky
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
Projekt
Ověř nulu, zpětný posun a meze kalendáře, odmítni chybné datum bez změny svátků.
Před použitím zkontrolujte
Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
Modely
Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
Pracovní postupy

Posuny pracovních dnů se svátky

Pracovní postupy ↗
Pracovní postupy
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")
Pracovní prostředí s AI pro kód

Před úpravou kalendářních výpočtů výslovně určete pravidla plánování

Kód plánování často směšuje obchodní pravidla s běžnou kalendářní aritmetikou. DayThistle je prostředí pro programování s AI ve Windows, kde lze tyto otázky při kontrole projektu oddělit. Začněte datem vytvářeným aplikací, očekávaným datem a pravidly tohoto očekávání. Před návrhem opravy požádejte připojený model o kontrolu příslušného kódu.

Například můžete požádat o kontrolu pomocné funkce termínu, která přeskakuje víkendy a dodanou množinu svátků. Vysvětlete, zda se počítá počáteční den, jak fungují záporné posuny a kdo dodává svátky. Požadujte návrh zachovávající tato rozhodnutí ve volajícím i pomocné funkci místo předpokladu jediné univerzální definice pracovního dne.

Navržené změny ověřte testovacími případy vycházejícími z těchto pravidel. Zahrňte překročení víkendu, svátek sousedící s víkendem, nulový posun a pohyb zpět. Spusťte testy projektu a prověřte hraniční chování pro nepodporovaná data. Správně vypadající termín v jednom příkladu nedokazuje, že všichni volající používají stejné zásady.

DayThistle se připojuje k podporovaným koncovým bodům kompatibilním s OpenAI nebo koncovým bodům Anthropic. Můžete zvolit model AI bez cenzury nabízený službou; dostupné nástroje a kontext zůstávají závislé na serveru. Pravidla zapište do úlohy, aby model pomáhal s implementací, aniž by potichu rozhodoval o plánování práce vaší organizace.

Otázky ke změně pracovních dnů

Dodává DayThistle kalendář svátků?

Příklad úlohy používá svátky dodané aplikací. V požadavku určete jejich zdroj a očekávané pokrytí. Nepředpokládejte, že otevření prostředí poskytuje aktuální regionální svátky nebo rozhoduje o tom, které sváteční dny ovlivňují vaše termíny.

Má se počáteční den započítávat do posunu?

Pravidlo určete výslovně a přiložte případ, kde začátek připadá na pracovní den. Různé zásady dávají různé odpovědi. Požádejte asistenta o zachování zvolené konvence při pohybu vpřed i zpět.

Jak oddělit chybná data svátků od vady kódu?

U selhávajícího testovacího případu uchovejte přesnou množinu svátků a před změnou výpočtu prohlédněte její obsah. Porovnejte výsledek s písemnými pravidly. Chybějící svátek a nesprávná podmínka přeskočení vyžadují různé opravy.

Co když navržená smyčka nemá jasnou podmínku ukončení?

Zeptejte se, jak implementace omezuje podporované posuny a řeší překročení rozsahu kalendáře. Před přijetím toto chování prověřte. Vedle běžných dat spusťte hraniční testy, aby oprava jednoho termínu nezavedla neomezený výpočet.

Stáhnout pro Windows ↗

DayThistle · Aktualizováno 2026-10-25