public function getShippingDate() { $day = 24 * 60 * 60; // if hour > 15h, next day if (date("G") >= 15) { $date = time() + $day; } else { $date = time(); } $isNotValid = true; while ($isNotValid) { // sam, dim if (date('N', $date) <= 5) { if (!TNTFrance::isNotWorkable($date)) { $isNotValid = false; } } if ($isNotValid) { $date += $day; } } return date('Y-m-d', $date); }