php日历制作代码分享

2015-01-24信息快讯网

这篇文章主要介绍了使用php制作的日历,下面有效果图,大家参考使用吧

 
php日历制作代码分享_信息快讯网

calendar.class.php

 

 <?php
class Calendar {
  private $year; //当前的年
  private $month; //当前的月
  private $start_weekday; //当月的第一天对应的是周几
  private $days; //当前月一共多少天

function __construct(){ $this->year=isset($_GET["year"]) ? $_GET["year"] : date("Y"); $this->month=isset($_GET["month"]) ? $_GET["month"] : date("m"); $this->start_weekday=date("w", mktime(0, 0, 0, $this->month, 1, $this->year)); $this->days=date("t", mktime(0, 0, 0, $this->month, 1, $this->year)); }

function out(){ echo '<table align="center">'; $this->chageDate("test.php"); $this->weeksList(); $this->daysList(); echo '</table>'; }

private function weeksList(){ $week=array('日','一','二','三','四','五','六');

echo '<tr>'; for($i=0; $i<count($week); $i++) echo '<th class="fontb">'.$week[$i].'</th>';

echo '</tr>'; }

private function daysList(){ echo '<tr>'; //输出空格(当前一月第一天前面要空出来) for($j=0; $j<$this->start_weekday; $j++) echo '<td> </td>';

for($k=1; $k<=$this->days; $k++){ $j++; if($k==date('d')) echo '<td class="fontb">'.$k.'</td>'; else echo '<td>'.$k.'</td>';

if($j%7==0) echo '</tr><tr>'; }

//后面几个空格 while($j%7!==0){ echo '<td> </td>'; $j++; }

echo '</tr>'; }

private function prevYear($year, $month){ $year=$year-1; if($year < 1970) $year = 1970;

return "year={$year}&month={$month}"; }

private function prevMonth($year, $month){ if($month == 1) { $year = $year -1; if($year < 1970) $year = 1970;

$month=12; }else{ $month--; }

return "year={$year}&month={$month}"; }

private function nextYear($year, $month){ $year = $year + 1;

if($year > 2038) $year = 2038;

return "year={$year}&month={$month}"; }

private function nextMonth($year, $month){ if($month==12){ $year++;

if($year > 2100) $year=2100;

$month=1; }else{ $month++; }

return "year={$year}&month={$month}"; }

private function chageDate($url=""){ echo '<tr>'; echo '<td><a href="?'.$this->prevYear($this->year, $this->month).'">'.'<<'.'</a></td>'; echo '<td><a href="?'.$this->prevMonth($this->year, $this->month).'">'.'<'.'</a></td>'; echo '<td colspan="3">'; echo '<form>'; echo '<select name="year" onchange="window.location=\''.$url.'?year=\'+this.options[selectedIndex].value+\'&month='.$this->month.'\'">'; for($sy=1970; $sy <= 2100; $sy++){ $selected = ($sy==$this->year) ? "selected" : ""; echo '<option '.$selected.' value="'.$sy.'">'.$sy.'</option>'; } echo '</select>'; echo '<select name="month" onchange="window.location=\''.$url.'?year='.$this->year.'&month=\'+this.options[selectedIndex].value">'; for($sm=1; $sm<=12; $sm++){ $selected1 = ($sm==$this->month) ? "selected" : ""; echo '<option '.$selected1.' value="'.$sm.'">'.$sm.'</option>'; } echo '</select>'; echo '</form>'; echo '</td>';

echo '<td><a href="?'.$this->nextYear($this->year, $this->month).'">'.'>>'.'</a></td>'; echo '<td><a href="?'.$this->nextMonth($this->year, $this->month).'">'.'>'.'</a></td>'; echo '</tr>'; }

} ?>

 test.php

 

 <style>
 table {
  border:1px solid #050;
 }

.fontb { color:white; background:blue; }

th { width:30px; }

td,th { height:30px; text-align:center; } form { margin:0px; padding:0px; } </style> <?php include "calendar.class.php";

$calendar=new Calendar;

$calendar->out(); ?>

©2014-2024 dbsqp.com