Как вычислить субботу и воскресенье в текщей неделе

Тема в разделе "Как сделать...", создана пользователем chapser, 15 мар 2015.

Статус темы:
Закрыта.
  1. chapser

    chapser Создатель

    Регистр.:
    12 сен 2007
    Сообщения:
    49
    Симпатии:
    21
    Всем привет. Есть такая функция:
    PHP:
    function getDayDate($date){
      
    $date strtotime($date);
      
    $months = array('','января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
      
    $days = array('0'=>'Воскресенье','1'=>'Понедельник','2'=>'Вторник','3'=>'Среда','4'=>'Четверг','5'=>'Пятница','6'=>'Суббота');
      
      return 
    'Дата - '.$days[date('w'$date)].' - '.(int)date('d',$date).' - '.$months[date('n'$date)];
    }

    echo 
    getDayDate($day['date']);
    Данная функция показывает N-е количество дней недели с текущего дня. Как выделить выходные дни (субботу и воскресенье) другим цветом, например красным. Остальные (будние дни) оставить черным цветом.
     
    Последнее редактирование модератором: 4 апр 2015
  2. rebux

    rebux Создатель

    Регистр.:
    3 ноя 2011
    Сообщения:
    10
    Симпатии:
    4
    Надеюсь это правильное решение:
    PHP:
    function getDayDate($date,$color="",$colorend="")
    {
      
    $date strtotime($date);
      
    $months = array('января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
      
    $days = array('0'=>'Воскресенье','1'=>'Понедельник','2'=>'Вторник','3'=>'Среда','4'=>'Четверг','5'=>'Пятница','6'=>'Суббота');
      
    $checkweek = (int)date('w',$date);
      
    $str = (int)date('d',$date);
      if(
    $checkweek==|| $checkweek==6)
      {
        
    $str='<b style="color:'.($colorend==''?'red':$colorend).';">'.$days[date('w'$date)].' - '.$str.'</b>';
      } else {
        
    $str='<b style="color:'.($color==''?'black':$color).'black;">'.$days[date('w'$date)].' - '.$str.'</b>';
      }
      return 
    'Дата - '.$str.' - '.$months[date('n'$date)-1].' '.date('Y',$date);
    }
    //echo getDayDate($day['date']);

    for($i=1;$i<16;$i++) echo getDayDate("2015-03-".$i." 04:05:15"),"<br>";
    Нашел у себя в одном проекте.
     
    Последнее редактирование: 15 мар 2015
  3. chapser

    chapser Создатель

    Регистр.:
    12 сен 2007
    Сообщения:
    49
    Симпатии:
    21
    Я уже разобрался и сделал проще
    PHP:
    $days = array('0'=>'Воскресенье','1'=>'Понедельник','2'=>'Вторник','3'=>'Среда','4'=>'Четверг','5'=>'Пятница','6'=>'Суббота');
    $week date('w'$date);
    if((
    $week 0) && ($week <6)) $color '#000000'; else $color '#FF0000';
     
    Последнее редактирование модератором: 4 апр 2015
Статус темы:
Закрыта.