Próbuję dodać 2 dni tygodnia do daty, ale chcę też wykluczyć dni z tablicy.Dodaj dwa dni robocze do tablicy dat z wyłączeniem dat świątecznych
szereg terminów do wykluczenia:
$bankHolidays = array();
foreach($obj as $e) {
if($e->division == 'england-and-wales') {
foreach($e->events as $events) {
$bankHolidays[] = $events->date;
}
}
}
dodanie 2 dni pracy do tej pory
$ret = date('d-m-Y', strtotime($bill["charge_customer_at"]. ' +2 weekdays'));
Jak mogę zawierać szereg dat, aby wykluczyć?
Jako przykład, jeśli moja data to 2017-07-19
i chcę dodać 2 dni tygodnia, to wypisze 2017-07-21
.
Ale jeśli 2017-07-21
był w mojej tablicy, powinien pominąć tę datę i kontynuować dodawanie 2 dni roboczych, aby wynik końcowy był również 2017-07-24
z powodu weekendu.
Czytałem poprzez swoje pytanie kilka razy i nie rozumieją swój pożądany wynik. Jestem prawie pewien, że mógłbym to zrobić, jeśli podasz przykład pożądanego rezultatu. –
sprawdź moją aktualizację, podałem przykład. mam nadzieję, że to ma sens – charlie
Niech skrypt zwróci datę + 2 dni. Wykonaj "sprawdzanie świąt", sprawdź, czy ta nowa data istnieje w twojej tablicy wakacyjnej. Jeśli tak, dodaj do niej dzień. Następnie wystarczy sprawdzić, czy jest to dzień tygodnia. Jeśli wygenerowany dzień jest sobotą lub niedzielą, dodaj 1 dzień do daty i ponownie uruchom całą rzecz (zaczynając od sprawdzenia świątecznego). Wygląda na to, że już masz teorię? Po prostu użyj metody 'in_array()'. –