линия

Главная

четверг, 6 октября 2016 г.

PHP: работа с датой или как получить следующий понедельник

Дано:
PHP,Netbeans,OpenServer,AmoCrm
Голова,Simple Plan + Blink182

Задание:
Если сделка создается вручную менеджером, задачу ставить не нужно
Если выходной день СБ или ВС – ставить задачу на Понедельник до 12:00
Если Пн-Пт 00:00-09:00 ставим задачу на этот день в 12:00
Если Пн-Чт 19:00-00:00 ставить задачу на следующий день 12:00
Если Пт после 19:00, то ставить задачу на Понедельник 12:00



Решение:
Возвращает в виде таймстамп
function MakeDateFormOfset(){
 $dateDL='';
 $arrDay = getdate();
        $weekday = $arrDay['weekday'];
 $hours = $arrDay['hours']; 
 
        if($weekday == 'Saturday' || $weekday == 'Sunday' || ( $weekday == 'Friday' && $hours >= 19 )){
      $data = strtotime('next week monday');
      $data = getdate($data);     
      $dateDL =  mktime(12, 0, 0,$data['mon'], $data['mday'], $data['year']);
    
        }
 else if($hours > 0 && $hours < 9){
  $dateDL = mktime(12, 0, 0, date('m'), date('d'), date('Y'));
 }
 else if($hours >= 9 && $hours <= 24){
  $data = strtotime('next day');
  $data = getdate($data);
  $date = new DateTime();
  $date->setDate($data['year'], $data['mon'], $data['mday']);
  $date->setTime(12, 00, 00);
                $dateDL = $date->getTimestamp();
 }
return $dateDL;
         
}








Комментариев нет:

Отправить комментарий