Ниже приведен небольшой фрагмент кода для расчета дня доставки по умолчанию от даты заказа (сегодня). Все работает хорошо, и есть много похожих вопросов на эту тему, но добавление даты кажется невероятно неуклюжим - должен быть намного лучший способ сделать это?
$dow_numeric = date('w');
// next delivery day from day no
switch($dow_numeric) {
case 1: // order Monday
$deldays = 2; // deliver Wednesday (2 days)
break;
case 2: // order Tuesday
$deldays = 2; // deliver Thursday (2 days)
break;
case 3: // order Wednesday
$deldays = 2; // deliver Friday (2 days)
break;
case 4: // order Thursday
$deldays = 5; // deliver Tuesday (5 days)
break;
case 5: // order Friday
$deldays = 4; // deliver Tuesday (4 days)
break;
case 6: // order Saturday
$deldays = 3; // deliver Tuesday (3 days)
break;
case 0: // order Sunday
$deldays = 2; // deliver Tuesday (2 days)
break;
}
$date = date('Y-m-d');
$newdate = date('Y-m-d', strtotime($date.' + '.$deldays.' days'));
$newukdate = date('d/m/Y', strtotime($newdate));
// test the output
echo "<br> Deliver after ".$deldays." days on the : ".$newukdate;