Получаем ближайшую дату не являющееся выходным днем.

05.03.2018

Обычно в магазинах, при выводе доступных дней для доставки товаров, нужно отображать ближайший не выходной день.

Вот пример функции, которая пропускает субботу и воскресенье и выдает следующую рабочую дату. Естественно еще есть праздники (Новый год и подобные), но это уже отдельная история.

 
    /**
	* Возвращает ближайшую дату не являющееся выходным днем. 
	* 
	* @return string
	*/
    public function getNextWorkDate()
    {
      $i = 1;
      do
      {
        $date = new \DateTime();
        $date->add(new \DateInterval('P'.$i.'D'));
        $iNum = $date->format('N');
        //echo $iNum.' : '.$date->format('Y-m-d') . "<br />";

        $i++;
        if($i > 7)
        {
          break;
        }
      } while($iNum >= 6);
      
      return $date->format('d.m.Y');
	}
  }


Категории: PHP
Пометки: Праздник, выходной
Яндекс.Метрика