Дата PHP исключая выходные

В настоящее время я делаю сайт, который предлагает доставку только с понедельника по пятницу.

Я пытаюсь выяснить, как добавить дату доставки. Например:

«Закажите сегодня, и вы можете ожидать доставки по DD / MM / YY»

Вышеуказанная дата потребовала бы исключить любые выходные

Так что в основном при заказе сегодня день доставки составляет 4 рабочих дня, за исключением выходных.

Попробуйте эту логику. Вы можете изменить его в соответствии с вашими потребностями.

$curdate = '2014-07-19'; $mydate=getdate(strtotime($curdate)); switch($mydate['wday']){ case 0: // sun case 1: // mon $days = 4; break; case 2: case 3: case 4: case 5: $days = 6; break; case 6: // sat $days = 5; break; } echo date('Ym-d', strtotime("$curdate +$days days")); 

Попробуй это:

 <?php echo strftime("%e/%m/%y", strtotime("+4 weekday")) ?> 

Он создает временную строку «4 будних дня», отформатированную как DD / MM / YY.

Относительные форматы дат, которые можно использовать с strtotime описаны здесь: http://php.net/manual/en/datetime.formats.relative.php

Вот именно то, что вы хотите

 $workdays = array(); $type = CAL_GREGORIAN; $month = date('n'); // Month ID, 1 through to 12. $year = date('Y'); // Year in 4 digit 2009 format. $day_count = cal_days_in_month($type, $month, $year); // Get the amount of days for ($i = 1; $i <= $day_count; $i++) { $date = $year.'/'.$month.'/'.$i; //format date $get_name = date('l', strtotime($date)); //get week day $day_name = substr($get_name, 0, 3); // Trim day name to 3 chars //if not a weekend add day to array if($day_name != 'Sun' && $day_name != 'Sat'){ $workdays[] = $i; } } 

https://daveismyname.com/show-working-days-of-a-month-excluding-weekends-with-php-bp