DDayThistle
KI-Arbeitsumgebung für Code

Arbeitstage mit Feiertagen verschieben

Verschiebe ein Datum um minus 366 bis 366 Arbeitstage und überspringe Wochenenden sowie bis zu 1000 Feiertage.

● ● ●DayThistle●
Arbeitsabläufe · Arbeitstage mit Feiertagen verschieben ×
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")
✳Arbeitstage mit Feiertagen verschieben
✓ ÄnderungenVor dem Anwenden prüfen ↗
Illustration der Arbeitsumgebung
Projekt
Teste null, Rückwärtsbewegung und Kalendergrenzen, lehne ungültige Daten ab und erhalte die Feiertage.
Vor dem Anwenden prüfen
Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
Modelle
Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.
Arbeitsabläufe

Arbeitstage mit Feiertagen verschieben

Arbeitsabläufe ↗
Arbeitsabläufe
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")
KI-Arbeitsumgebung für Code

Terminregeln vor Änderungen am Datumscode ausdrücklich festlegen

Termincode vermischt häufig Geschäftsregeln mit gewöhnlicher Kalenderarithmetik. DayThistle ist ein KI-Programmierarbeitsbereich für Windows, in dem Sie diese Fragen bei der Projektprüfung trennen können. Beginnen Sie mit dem von der Anwendung erzeugten Datum, dem erwarteten Datum und den Regeln hinter dieser Erwartung. Lassen Sie das verbundene Modell den relevanten Code vor einem Korrekturvorschlag prüfen.

Sie könnten beispielsweise eine Fristen-Hilfsfunktion prüfen lassen, die Wochenenden und eine übergebene Feiertagsmenge überspringt. Erklären Sie, ob der Starttag mitzählt, wie negative Verschiebungen funktionieren und wer die Feiertagsdaten liefert. Fordern Sie einen Vorschlag an, der diese Entscheidungen sowohl im Aufrufer als auch in der Hilfsfunktion bewahrt, statt eine universelle Definition eines Arbeitstags vorauszusetzen.

Verifizieren Sie die vorgeschlagenen Änderungen mit aus diesen Regeln abgeleiteten Testfällen. Berücksichtigen Sie einen Wochenendübergang, einen Feiertag neben einem Wochenende, eine Nullverschiebung und eine Rückwärtsbewegung. Führen Sie die Projekttests aus und prüfen Sie das Grenzverhalten für nicht unterstützte Daten. Eine korrekt aussehende Frist in einem Beispiel belegt nicht, dass alle Aufrufer dieselben Regeln verwenden.

DayThistle verbindet sich mit unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkten. Sie können ein von Ihrem Dienst angebotenes unzensiertes KI-Modell wählen; verfügbare Werkzeuge und Kontext bleiben serverabhängig. Schreiben Sie die Regeln in die Aufgabe, damit das Modell bei der Implementierung hilft, ohne stillschweigend die Arbeitsplanung Ihrer Organisation zu bestimmen.

Fragen hinter einer Arbeitstagsänderung

Liefert DayThistle einen Feiertagskalender?

Die Beispielaufgabe verwendet von Ihrer Anwendung gelieferte Feiertagsdaten. Benennen Sie deren Quelle und erwartete Abdeckung im Auftrag. Nehmen Sie nicht an, dass das Öffnen des Arbeitsbereichs aktuelle regionale Feiertage liefert oder entscheidet, welche Feiertage Ihre Fristen beeinflussen.

Soll der Starttag zur Verschiebung zählen?

Legen Sie diese Regel ausdrücklich fest und nehmen Sie einen Testfall auf, dessen Start auf einen Arbeitstag fällt. Unterschiedliche Regeln liefern unterschiedliche Antworten. Lassen Sie den Assistenten die gewählte Konvention bei Vorwärts- und Rückwärtsbewegungen bewahren.

Wie trenne ich fehlerhafte Feiertagsdaten von einem Codefehler?

Bewahren Sie die genaue Feiertagsmenge beim fehlschlagenden Testfall auf und prüfen Sie deren Inhalt vor einer Berechnungsänderung. Vergleichen Sie das Ergebnis mit der schriftlichen Regel. Ein fehlender Feiertagseintrag und eine fehlerhafte Überspringbedingung benötigen unterschiedliche Korrekturen.

Was ist, wenn die vorgeschlagene Schleife keine klare Abbruchbedingung hat?

Fragen Sie, wie die Implementierung unterstützte Verschiebungen begrenzt und Kalenderüberläufe behandelt. Prüfen Sie dieses Verhalten vor der Annahme. Führen Sie Grenztests neben gewöhnlichen Daten aus, damit die Korrektur einer Frist keine unbegrenzte Berechnung einführt.

Für Windows herunterladen ↗

DayThistle · Aktualisiert 2026-10-25