Как показать все даты года еженедельноPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как показать все даты года еженедельно

Сообщение Anonymous »

Я хочу показывать все даты года, сгруппированные еженедельно, и показывать каждый день недели в одной строке таблицы.
Приведенный ниже код показывает все даты года: (https://stackoverflow.com/a/4044939)

Код: Выделить всё

$now = mktime(0,0,0,1,1,2024);
$aYearLater = $now + 31536000;
$allDates = Array();

$friday = strtotime('Next Friday', strtotime('-1 Day', $now));
$saturday = strtotime('Next Saturday', strtotime('-1 Day', $now));
$sunday = strtotime('Next Sunday', strtotime('-1 Day', $now));
$monday = strtotime('Next Monday', strtotime('-1 Day', $now));
$tuesday = strtotime('Next Tuesday', strtotime('-1 Day', $now));
$wednesday = strtotime('Next Wednesday', strtotime('-1 Day', $now));
$thursday = strtotime('Next Thursday', strtotime('-1 Day', $now));

while(1){
if($saturday > $aYearLater)
break 1;
$a = array('date'=>date('Y-m-d l', $saturday));
$b = array('daynum'=>date('w', $saturday,'','','en'));
$allDates[] = array_merge($a,$b);
if($sunday > $aYearLater)
break 1;
$a = array('date'=>date('Y-m-d l', $sunday));
$b = array('daynum'=>date('w', $sunday,'','','en'));
$allDates[] = array_merge($a,$b);
if($monday > $aYearLater)
break 1;
$a = array('date'=>date('Y-m-d l', $monday));
$b = array('daynum'=>date('w', $monday,'','','en'));
$allDates[] = array_merge($a,$b);
if($tuesday > $aYearLater)
break 1;
$a = array('date'=>date('Y-m-d l', $tuesday));
$b = array('daynum'=>date('w', $tuesday,'','','en'));
$allDates[] = array_merge($a,$b);
if($wednesday > $aYearLater)
break 1;
$a = array('date'=>date('Y-m-d l', $wednesday));
$b = array('daynum'=>date('w', $wednesday,'','','en'));
$allDates[] = array_merge($a,$b);
if($thursday > $aYearLater)
break 1;
$a = array('date'=>date('Y-m-d l', $thursday));
$b = array('daynum'=>date('w', $thursday,'','','en'));
$allDates[] = array_merge($a,$b);
if($friday > $aYearLater)
break 1;
$a = array('date'=>date('Y-m-d l', $friday));
$b = array('daynum'=>date('w', $friday,'','','en'));
$allDates[] = array_merge($a,$b);
$friday = strtotime('+1 Week', $friday);
$saturday = strtotime('+1 Week', $saturday);
$sunday = strtotime('+1 Week', $sunday);
$monday = strtotime('+1 Week', $monday);
$tuesday = strtotime('+1 Week', $tuesday);
$wednesday = strtotime('+1 Week', $wednesday);
$thursday = strtotime('+1 Week', $thursday);
}

foreach ($allDates as $k=>$v){
echo $allDates[$k]['date'].''.$allDates[$k]['daynum'].'';
}
как мне группировать эти даты по неделям?
Я не хочу использовать DateTime в PHP.
спасибо.
Я искал в stackoverflow но не нашел ответа

Подробнее здесь: https://stackoverflow.com/questions/790 ... ear-weekly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»