Przyszła ostateczność więc piszę w sprawie pomocy.
Co chce zrobić:
Potrzebuje napisać skrypt, który do daty dzisiejszej doda x dni i ją wyświetli, lecz jeśli w daną datę wypada weekend, lub święta ma pokazać datę przypadającą na kolejny dzień roboczy.
Ogólnie kod poniżej "prawie" działa, z tym, że w tablicy $busy teraz już konkretnie mi się coś pomieszało i błędnie wskazuje weekendy i święta.
Mogę prosić o poprawienie kodu, aby w końcu zaczął działać? Przyznam się że już parę dni go męczę. Ogólnie daty sprowadziłem do liczby dni roku, ale jeśli ktoś ma lepszy pomysł czekam na sugestię.
Z góry dziękuje!
); for($day = 1; $day <= $days_in_year; $day++) { $busy[$day] = false; } $endTimestamp = $end->getTimestamp(); $now->setTime(0,0); $d = $now; $oneday = new DateInterval("P1D"); $sixdays = new DateInterval("P6D"); #$res = array(); while ($d->getTimestamp() <= $endTimestamp) { if($currentDay > 0) $busy[$currentDay] = true; $d = $d->add($oneday); if ($d->getTimestamp() <= $endTimestamp) { if($currentDay > 0) $busy[$currentDay] = true; } $d = $d->add($sixdays); } foreach($swieta AS $data) { if($currentDay > 0) $busy[$currentDay] = true; } } $czasdostawy = 4; while($busy[$selected_day] == true) { $selected_day++; }