【发布时间】:2014-11-25 15:37:28
【问题描述】:
我正在开发一个显示 2015 年日历的网站。 我使用https://www.hscripts.com/scripts/php/yearly-calendar.php。 您可以在页面上看到演示。在演示中,您可以看到从星期一开始的一周。我想从星期一开始的那一周换一次。有人知道我可以如何更改下面的代码,以便带有天数的表格从星期一开始,并且日历仍然计数正确。
<?php
$year = 2015;
echo "<table cellspacing=10 border=0>";
echo "<tr><td align=center colspan=3 class='topic'>$year Yearly Calendar</td></tr>";
for($ti=0;$ti<12;$ti++) {
$month = $ti+1;
if($ti%3==0) echo "<tr>";
echo "<td valign='top'>";
echo "<span class='monthnames'><b>".date( 'M', mktime(0, 0, 0, $month,1,0) )."</b></span>";
echo "<table border=0 class='tab'>";
echo "<tr class='daynames'><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr>";
$timestamp = mktime(0,0,0,$month,1,$year);
$maxday = date("t",$timestamp);
$thismonth = getdate ($timestamp);
$startday = $thismonth['wday'];
for($i=0; $i<($maxday+$startday); $i++) {
if(($i % 7) == 0 ) {
echo "<tr>\n";
}
if($i < $startday) echo "<td></td>\n";
else{
if($i - $startday + 1 == date('d') && date( 'F', mktime(0, 0, 0, $month,1,0) ) == date('F') && $year == date('Y'))
echo "<td align='center' valign='middle' class='curdate'>".($i - $startday + 1)."</td>\n";
else
echo "<td align='center' valign='middle'>".($i - $startday + 1)."</td>\n";
}
if(($i % 7) == 6 ) echo "</tr>\n";
}
echo "</table>";
echo "</td>";
if($ti!=0 && ($ti+1)%3==0) echo "</tr>";
}
echo "</table>";
【问题讨论】:
-
上周一看看
-
使用谷歌你可能会得到:stackoverflow.com/questions/4150435/…
标签: php date time calendar mktime