This article mainly introduces the PHP calender (Calendar) code, the need for friends can refer to the
The code is as follows: code is as follows: <?php/** * * My calendar * date_default_timezone_set date mktime * Aram int $year * @param int $month * @param string $timezone * @author fc_lamp */function Mycalen Der ($year = ', $month = ', $timezone = ' Asia/shanghai ') { date_default_timezone_set ($timezone); $year = ABS (Intval ($year)); $month = ABS (Intval ($month)); /is 32-bit if (IS32 ()) if ($year < 1970 o R $year >= 2038) $year = date (' Y '); & nbsp } } else if ($year <= 0) & nbsp { $year = date (' Y '); } } &NB Sp if ($month <= 0 or $month >) { $month = date (' m '); } &NBSP ; Previous year $pretYear = $year-1; //Previous month $mpYear = $year; $preMonth = $month-1; if ($preMonth <= 0) { $preMonth = 1 &NBSP ; $mpYear = $pretYear; } //Next year $nextYear = $year + 1; //next month $mnYear = $year; $nextMonth = $month + 1; if ($nextMonth >) { $nextMonth = 1 &NB Sp $mnYear = $nextYear; } //Calendar head $html = <<<html <table width= "$" border= "1" > &nb Sp <TR align= "center" > <td><a href= "y= $pretYear" > previous year </a></td> <td><a href= "? y= $mpYear &m= $preMonth "> Last month </a></td> <td><a href="? > Back to today </a></td> <td><a href= "? y= $mnYear &m= $nextMonth" > next month </a> </td> <td><a href= "? y= $nextYear" > next year </a></td> </tr> <TR align= "center" > <TD colspan= "5" >{$year} year {$month} month </td> </tr> <tr> <TD colspan= "5" > <table width= "100%" border= "1" > & nbsp <TR align= "center" > <T D style= "Background-color: #DAF0DD;" > Monday </td> <TD style= "Background-color: #DAF0DD;" > Tuesday </td> <TD style= "Background-color: #DAF0DD;" > Wednesday </td> &NBSp <TD style= "Background-color: #DAF0DD;" > Thursday </td> <TD style= "Background-color: #DAF0DD;" > Friday </td> <TD style= "Background-color: #F60; color:# Fff;font-weight:bold; " > Saturday </td> <TD style= "Background-color: #F60; color:# Fff;font-weight:bold; " > Sunday </td> </tr> HTML; $currentDay = date (' Y-m-j '); //The last day of the month $lastday = date (' J ', Mktime (0, 0, 0, $nextMonth, 0, $year)); //Cycle output days $day = 1; $line = '; while ($day <= $lastday) { $cday = $year. '-' . $month. '-' . $day; //Current Monday $nowWeek = Date (' N', mktime (0, 0, 0, $month, $day, $year)); if ($day = 1) { $line = ' <tr align= ' center ' > '; $line = str_repeat (' <td> </td> ', $nowWeek-1); } if ($cday = = $currentDay) {& nbsp $style = ' style= ' color:red; "'; } else { $style = '; &n Bsp } $line. = "<td $style > $day </td>"; //week end if ($nowWeek = 7) {&NB Sp $line. = ' </tr> '; $html. = $line;   $line = ' <tr align= ' center ' > '; } /full month end if ($day = = $lastday) { if ($nowWeek!= 7) &NB Sp { $line. = Str_repeat (' <td> </td> ', 7-$nowW EEK); $line. = ' </tr> '; $html. = $line; break; } $day + +; } $html. = <<<html </table> &N Bsp </td> </tr> </table> HTML; return $html; } /** * * detection is a 32-bit machine * @Author Fc_lamp * @blog: fc-lamp.blog.163.com */function Is32 () { $is = False; I F (strtotime (' 2039-10-10 ') = False) { $is = True; } return $is 32; }