2015-07-21 3 views
0
$month_year = 'JUL-2015'; 
$cal = $Calendar->getweek(date("m", strtotime($month_year)), date("Y", strtotime($month_year))); 
$call_arr = array(); 
    foreach ($cal['start_day'] as $cal_key => $cal_no) { 
     $call_arr[] = $cal_no . " - " . $cal['end_day'][$cal_key]; 
    } 

Вышеупомянутых выходы недели диапазона в течение месяца JUL-2015 как нижеPHP - Fetch первого дата последней недели, если дата начала конца падает в середине недели

Array 
(
    [0] => 1 - 5 
    [1] => 6 - 12 
    [2] => 13 - 19 
    [3] => 20 - 26 
    [4] => 27 - 31 
) 

Первая неделя JUL-2015 начинается со среды. Как я мог бы достичь следующего, когда пользователь выбирает Start-End даты Календаря

  1. Проверьте запуск дата (1-Jul) оконечных и дата (5-Jul) для первой недели июля падают в середине неделю и не начинаются с понедельника
  2. Если старт/дата окончания для любой недели начинается с середины недели, т.е. не от Monday, как получить начальную дату этой недели? В нашем случае это бы (29-JUN)
  3. За последнюю неделю JUL-2015(27 - 31), дата начала будет 27-JUL и дата окончания будет 2-AUG для этой конкретной недели

ответ

1
$day = '2015-05-04'; 
$weekDay = date('w', strtotime($day)); 

$weekStart = date('Y-m-d',strtotime($day . ' -'.$weekDay. ' days')); 
$weekEnd = date('Y-m-d',strtotime($day .' +'.(6-$weekDay). ' days')); 

echo $weekStart . ' + ' . $weekEnd; 
+0

Если предположить, что это за месяц 'май- 2015_ week 1 (1-3) как я могу получить «start_date = 27-APR и end_date = 3-MAY» с помощью входов ввода-вывода в начале «1-MAY-2015» и «3-MAY-2015» соответственно? – Slimshadddyyy

+0

мое представление показывает, как вы можете найти weekStart и weekEnd вы можете найти для любой даты, изменив дату на переменной $ today, предположим, что если вы хотите найти дату 27-APRIL-2015, вы можете изменить эту переменную, следуя $ today = date ('W', StrToTime ('2015-04-07')); – Ammadu

+0

Это '$ today = date ('w', strtotime ('2015-05-01')); $ weekStart = date ('Y-m-d', strtotime ('-'. $ Today. 'Days')); $ weekEnd = date ('Y-m-d', strtotime ('+'. (6- $ today). 'Days')); 'выходы' 5,2015-07-16,2015-07-22' соответственно. Что я здесь делаю неправильно? – Slimshadddyyy

Смежные вопросы