Php Addiere 5 Arbeitstage zum aktuellen Datum ohne Wochenenden (Sa-So) und ohne (Mehrfach-) Feiertage

Für die Lieferung unseres Webshops müssen wir 5 Arbeitstage ab dem aktuellen Datum in PHP berechnen.

Unsere Arbeitstage sind von Montag bis Freitag und wir haben mehrere Ruhetage (Feiertage), die ebenfalls nicht berücksichtigt werden können.

Ich habe dieses Skript gefunden, enthält jedoch keine Feiertage.

<?php 

    $_POST['startdate'] = date("Y-m-d");
    $_POST['numberofdays'] = 5;

    $d = new DateTime( $_POST['startdate'] );
    $t = $d->getTimestamp();

    // loop for X days
    for($i=0; $i<$_POST['numberofdays']; $i++){

        // add 1 day to timestamp
        $addDay = 86400;

        // get what day it is next day
        $nextDay = date('w', ($t+$addDay));

        // if it's Saturday or Sunday get $i-1
        if($nextDay == 0 || $nextDay == 6) {
            $i--;
        }

        // modify timestamp, add 1 day
        $t = $t+$addDay;
    }

    $d->setTimestamp($t);

    echo $d->format('Y-m-d'). "\n";

?>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage