抽空写了个日历程序,只注重功能和实现的思路,所以代码和功能都比较简单,但是理解和扩展也比较容易。
show()函数用来显示日历,你可以修改show()函数,通过传值的方式来实现显示不同的年月。
<?php class Calendar{
public $weekarray = array('星期日','星期一','星期二','星期三','星期四','星期五','星期六');
public $firstDay = '';//当月第一天
public $firstNum = '';//返回当月第一天对应的星期数字
public $firstDayNum = '';//当月第一天对应的中文星期
/**
* 指定日是星期几
* eg:$date='2014-07-21'
*/
public function getWeek($date){
$date = strtotime($date);//strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳
$num = date('w',$date);//数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
return $num;
}
/**
* 取得指定月有多少天
* eg:$month = '2014-07'
*/
public function getMonthNum($month){
$month = strtotime($month);
return date('t',$month);//指定月份的天数
}
/**
* 显示日历
*/
public function show(){
//取得当前日期
$year = date('Y');
$month = date('m');
$day = date('d');
echo '<table border="1" style="text-align:center;">';
echo '<tr><td colspan="7">'.$year.'-'.$month.'</td></tr>';
echo '<tr><th>星期日</th><th>星期一</th><th>星期二</th><th>星期三</th><th>星期四</th><th>星期五</th><th>星期六</th></tr>';
//取得当前月有多少天
$yearMonth = '$year."-".$month';
$monthNum = $this->getMonthNum($yearMonth);
//取得当前月第一天是星期几
$this->firstDay = $year."-".$month."-01";
$this->firstNum = $this->getWeek($this->firstDay);
$this->firstDayNum = $this->weekarray[$this->firstNum];
echo '<tr>';
for($i=1;$ifirstNum);$i++){
echo '<td>';
if($i >= $this->firstNum+1){
$a = $i-$this->firstNum;
if($a == $day){
echo '<p style="background-color:blue;color:#fff;">'.$a.'</p>';
}else{
echo '<p>'.$a.'</p>';
}
}
echo '</td>';
if($i%7 == 0){//每输出7列就换一行
echo '</tr>';
}
}
echo '';
}
}
$calendar = new Calendar();
$calendar->show();效果图:
Shopilex是一个多功能、易扩展的开源电子商务系统,是面向独立卖家的网店系统,同时,Shopilex是基于GPL开源协议的PHP网店系统,是国内目前为数不多的真正做到开源的免费网店系统.另外,Shopilex采用了MVC架构开发,代码结构清晰,易维护,二次开发更简单. Shopilex 2.0 使用了全新的界面设计,更简洁,后台使用更易上手.功能特性:良好的用户体验,更简洁的单页结账流程;更人
PHP date()函数的使用
立即学习“PHP免费学习笔记(深入)”;
这里有篇date()函数的详解:http://wenku.baidu.com/link?url=OPDGzaCMWgjDE0ya8QlDbLIXX0c11ohUjsoLyRm-cYp7lz-O_7H4XBILv8JfomhbnSxXSW0FhqxYBK0_gn8Nr77XMWp-_st7v8AYecbNZjG










