DDayThistle
Méthodes de travail

Méthodes de développement · Décalages de jours ouvrés avec jours fériés

03
Produit

Méthodes de travail

Décale une date de moins 366 à 366 jours ouvrés en sautant week-ends et jusqu’à 1000 jours fériés. Teste zéro, recul et bornes du calendrier, refuse les dates invalides sans modifier les jours fériés.

01

Téléchargez l’application

Sélectionnez un dossier et demandez à l’assistant de lire les fichiers concernés avant de les modifier. Définissez le résultat attendu et les limites de la tâche.

02

Ouvrez le dossier du projet

Choisissez un endpoint compatible. Les outils disponibles et la qualité des réponses dépendent du modèle et du serveur utilisés.

03

Connectez et testez le modèle

Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.

04

Examinez les modifications et lancez les tests

Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.

Décalages de jours ouvrés avec jours fériés

Méthodes de travail
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")

Vérifiez avant d’appliquer. Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.

Espace de développement avec IA

Votre prochaine idée commence ici.

Télécharger pour Windows ↗