Эй, ребята,Как принять динамический понедельник недели
$start_date = '2015-09-21';
$end_Date = '2016-09-21';
function getStartAndEndDate($start_date, $end_Date){
$date1 = new DateTime($start_date);
$date2 = new DateTime($end_Date);
$interval = $date1->diff($date2);
$weeks = floor(($interval->days)/7);
$date_differences = array();
for($i = 1; $i <= $weeks; $i++){
$date1->add(new DateInterval('P4D'));
$s_time = strtotime($start_date);
$week_number = date('W', $s_time);
$date_differences[] = $start_date." - ".$date1->format('Y-m-d')."<br>";
$date1->add(new DateInterval('P3D'));
$start_date = $date1->format('Y-m-d');
}
return $date_differences;
}
Выход функции является:
[0] => 2015-09-1 @@ 2015-09-05
[1] => 2015-09-08 @@ 2015-09-12
[2] => 2015-09-15 @@ 2015-09-19
[3] => 2015-09-22 @@ 2015-09-26
[4] => 2015-09-29 @@ 2015-10-03
[5] => 2015-10-06 @@ 2015-10-10
[6] => 2015-10-13 @@ 2015-10-17
[7] => 2015-10-20 @@ 2015-10-24
[8] => 2015-10-27 @@ 2015-10-31
[9] => 2015-11-03 @@ 2015-11-07
В этой функции, когда я даю дату начала и окончания, она возвращает меня все недели дата начала и окончания, но проблема в том, что она отлично работает, когда я дал ему дату начала, которая ровно в понедельник. Когда я дал ему дату, которая не в понедельник, а в другие дни, она просто добавляет четыре дня и делает неделю вроде (вторник по субботу). То, что я точно хочу, это если кто-то вводит дату, которая не является понедельником, она должна начать свою неделю с понедельника. например если
$start_date = '2015-09-21';
$end_Date = '2016-09-21';
возвращает такой вывод:
[0] => 2015-08-31 @@ 2015-09-04
[1] => 2015-09-07 @@ 2015-09-11
[2] => 2015-09-14 @@ 2015-09-18
[3] => 2015-09-21 @@ 2015-09-25
спасибо, что работает me – AftabHafeez
Зачем копировать мой ответ? – danopz