javascript — календарные периоды PHP (еженедельно)

Я делаю календарь, и теперь я нахожусь на периоде недели. Я не могу этого сделать, это работает, но только на следующий месяц, а другие нет.

$i = 1;

$den = $post->day;
$mesic = $array['month'];
$rok = $array['year'];
$minusDays = $this->numDays(date('l', $den.".".$mesi.".".$rok));
$startedWeek = date('W', strtotime($den.".".$post->month.".".$post->year));
$actualWeek  = date('W', Time());

$startedWeek = $actualWeek - $startedWeek;


for($i; $i<6; $i++){
if($i==1){
$startedWeek = $startedWeek;
}else{
$startedWeek = $startedWeek+1;
}
$plusDay = date('j', strtotime($den.".".$mesic.".".$rok." + ".$startedWeek." weeks - ".$minusDays." days"));
$plusWeek = date('n',strtotime($den.".".$mesic.".".$rok." + ".$startedWeek." weeks - ".$minusDays." days"));
$plusYear = date('Y',strtotime($den.".".$mesic.".".$rok." + ".$startedWeek." weeks - ".$minusDays." days"));

echo "<input type='hidden' class='interval' data-id='".$post->id."' data-name='".$post->name."' data-d='".$plusDay."' data-day='".$plusDay."'
data-before='".$post->remindBefore."' data-unit='".$post->remindBeforeUnit."' data-remindBy='".$post->remindBy."' data-remindInterval='".$post->remindInterval."'
data-eventTimeH='".$post->remindH."' data-eventTimeM='".$post->remindM."'>";
}

$ post-> day — это день периода, $ array [‘month’] теперь указан месяц, $ array [‘year’] теперь указан год. Функция numDays, возвращающая 0-6, зависит от того, какой сегодня день. Спасибо. Это должно быть скрыто, потому что HTML 5 календарь.

Все в порядке, это в столбце St, следующий месяц такой же, но через 2 месяца в столбце Čt.

введите описание изображения здесь

введите описание изображения здесь

1

Решение

Хорошо, я сделал решение, во-первых, чтобы получить startDate периода

$dayOfWeek = date('w', strtotime($post->day.".".$post->month.".".$post->year)); // day of week to start period

после этого я устанавливаю переменную первого дня, которая равна 1. Она переходит в цикл, поэтому она равна 0. После добавления этой переменной я зацикливаюсь в цикле каждый день и проверяю, является ли фактическим днем ​​среда или вторник и т. д.

$dd=0;

for($i=1; $i<7; $i++){

for($c=0; $c<7; $c++){
$dd++;
$actualDayOfWeek = date('w', strtotime($dd.".".$array['month'].".".$array['year']));
$plusDay = date('j', strtotime($dd.".".$array['month'].".".$array['year']));
if($dayOfWeek != $actualDayOfWeek){
}else{

$actualDayOfWeek = date('w', strtotime($dd.".".$array['month'].".".$array['year']));
$plusDay = date('j', strtotime($dd.".".$array['month'].".".$array['year']));
echo "<input type='hidden' class='interval' data-id='".$post->id."' data-name='".$post->name."' data-d='".$dd."' data-day='".$plusDay."'
data-before='".$post->remindBefore."' data-unit='".$post->remindBeforeUnit."' data-remindBy='".$post->remindBy."' data-remindInterval='".$post->remindInterval."'
data-eventTimeH='".$post->remindH."' data-eventTimeM='".$post->remindM."'>";
break;
}
}


}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]