DDayThistle
Werkprocessen

Werkprocessen voor code · Werkdagen verschuiven met feestdagen

03
Product

Werkprocessen

Verschuif een datum met min 366 tot 366 werkdagen, sla weekenden en maximaal 1000 feestdagen over. Test nul, achteruitgaan en kalendergrenzen, weiger ongeldige datums zonder de feestdagen te wijzigen.

01

Download de toepassing

Selecteer een map en laat de assistent de relevante bestanden lezen voordat hij ze wijzigt. Benoem het doel en de grenzen van je opdracht.

02

Open de projectmap

Kies een compatibel endpoint. Beschikbare hulpmiddelen en de kwaliteit van antwoorden hangen af van het ingestelde model en de server.

03

Verbind en test het model

Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.

04

Controleer wijzigingen en voer tests uit

Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

Werkdagen verschuiven met feestdagen

Werkprocessen
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")

Controleer vóór het toepassen. Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.

AI-werkruimte voor code

Je volgende idee begint hier.

Download voor Windows ↗