首页 > php开发 > 用php编写的日历

用php编写的日历

网上有很多JavaScript编写的日历,这种日历读取的是本地的时间,可能会不准确。所以想找一个用php编写的,能读取服务器时间的日历,但是一直都找不到合适的,于是我自己尝试着写了一个,代码如下:

<?php
$mnow = (isset($HTTP_GET_VARS['month']) && intval($HTTP_GET_VARS['month']) > 0 && intval($HTTP_GET_VARS['month']) < 13) ? intval($HTTP_GET_VARS['month']) : date("m");
$ynow = (isset($HTTP_GET_VARS['year']) && intval($HTTP_GET_VARS['year']) > 1969 && intval($HTTP_GET_VARS['year']) < 2038) ? intval($HTTP_GET_VARS['year']) : date("Y");
$mtime = mktime(0, 0, 0, $mnow, date("d") , $ynow);
$f = date("w", mktime(0, 0, 0, $mnow, 1, $ynow)) - 1;
echo "<table id=\"calendar\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\">";
echo "<tr><td colspan=\"4\" align=\"center\" class=\"calendartitle\"><a href=\"?" . ($mnow != date("m") ? "month=" . intval($mnow) . "&" : "") . "year=" . (intval($ynow) == 1970 ? "1970" : intval($ynow) - 1) . "\">&lt;</a>" . $ynow . "<a href=\"?" . ($mnow != date("m") ? "month=" . intval($mnow) . "&" : "") . "year=" . (intval($ynow) == 2037 ? "2037" : intval($ynow) + 1) . "\">&gt;</a></td><td colspan=\"3\" align=\"center\" class=\"calendartitle\"><a href=\"?month=" . (intval($mnow) == 1 ? "12" : intval($mnow) - 1) . ($ynow != date("Y") ? "&year=" . intval($ynow) : "") . "\">&lt;</a>" . date("M", $mtime) . "<a href=\"?month=" . (intval($mnow) == 12 ? "1" : intval($mnow) + 1) . ($ynow != date("Y") ? "&year=" . intval($ynow) : "") . "\">&gt;</a></td></tr>";
echo "<tr><td class=\"calendartop\">S</td><td class=\"calendartop\">M</td><td class=\"calendartop\">T</td><td class=\"calendartop\">W</td><td class=\"calendartop\">T</td><td class=\"calendartop\">F</td><td class=\"calendartop\">S</td></tr>";
for ($i = 0; $i < date("t", $mtime) + $f + 1; $i++) {
    if ($i % 7 == 0) echo "<tr>";
    echo "<td" . (($i - $f == intval(date("d")) && $mnow == date("m") && $ynow == date("Y")) ? " id=\"calendartoday\"" : "") . (($i % 7 == 0 || $i % 7 == 6) ? " class=\"calendarw\"" : "") . ">";
    if ($i > $f) echo $i - $f;
    echo "</td>";
    if ($i % 7 == 6) echo "</tr>";
}
if ($i % 7 < 6 && $i % 7 > 0) echo "<td colspan=\"" . (7 - $i % 7) . "\"></td></tr>";
if ($i % 7 == 6) echo "<td></td></tr>";
echo "</table>";


文章地址:http://www.phprm.com/develop/fs850.html

转载随意^^请带上本文地址!

标签:php日历

相关文章

发表留言