突出显示一个月内的所有星期日

时间:2016-12-12 20:49:13

标签: php calendar

我到处搜寻,我只是像疯了一样感到困惑。我想突出显示一个月内的所有星期日,并且根据我目前的代码,我不知道应该在哪里插入代码以突出星期日。或者代码错了......请帮忙吗?

如果我们有12月份,则应突出显示4,11,18和25,其中12个突出显示为当前日期(ID ='焦点')在附件中: enter image description here

显示日期的代码(仅显示突出显示的当前日期):

$timestamp = mktime(0,0,0,$cMonth,1,$cYear);
$maxday = date("t",$timestamp);
$thismonth = getdate ($timestamp);
$startday = $thismonth['wday'];

for ($i=0; $i<($maxday+$startday); $i++) {
if($i < $startday) echo "";
elseif(($i - $startday + 1) == $cDay){
   echo "<td align='center' valign='middle' class='tableBody' id='focus'>". ($i - $startday + 1) ."</td>";
}
else {
   if (($i - $startday + 1) == date("j") && ($cMonth-1) == date("F")) {
      echo "<td class='tableBody' align='center' valign='middle'>".  ($i - $startday + 1) . "</td>";
   }
   else {
      echo "<td class='tableBody' align='center' valign='middle'>".  ($i - $startday + 1) . "</td>";
   }
}
}

我对如何获得此输出感到很失落: enter image description here

1 个答案:

答案 0 :(得分:1)

查看Instancing

日期(&#34; N&#34;)ISO-8601星期几的数字表示(在PHP 5.1.0中添加)1(星期一)到7(星期日)

您可以检查日期是否等于7

$timestamp = mktime(0,0,0,$cMonth,1,$cYear);
$maxday = date("t",$timestamp);
$thismonth = getdate ($timestamp);
$startday = $thismonth['wday'];

for ($i=0; $i<($maxday+$startday); $i++) {
    if($i < $startday)  {
        echo "";
    }
    elseif(date("N F", mktime(0,0,0,$cMonth,($i - $startday + 1),$cYear)) == 7){ 
        // Sunday
        echo "<td align='center' valign='middle' class='tableBody' id='focus'>". ($i - $startday + 1) ."</td>";
    }
    else {
        if (($i - $startday + 1) == date("j") && ($cMonth-1) == date("F")) {
            echo "<td class='tableBody' align='center' valign='middle'>".  ($i - $startday + 1) . "</td>";
        }
        else {
            echo "<td class='tableBody' align='center' valign='middle'>".  ($i - $startday + 1) . "</td>";
        }
    }
}