日历类编写"/>
编写时间的php,PHP实现简单日历类编写
用PHP实现日历类的编写,供大家参考,具体内容如下
calendar.class.php
/*
* 创建一个日历类
*
*
*/
//修改默认时区
date_default_timezone_set("PRC");
class Calendar {
private $year;
private $month;
private $day; //当月总天数
private $first_week; //每月的第一天是星期几
//构造函数
function __construct() {
$this->year = isset($_GET['year'])?$_GET['year']:date("Y");
$this->month = isset($_GET["month"])?$_GET["month"]:date("m");
$this->first_week = date("w", mktime(0, 0 ,0, $this->month, 1, $this->year));
$this->day = date("t", mktime(0, 0 ,0, $this->month, 1, $this->year));
}
function showCalendar() {
// echo $this->year."年".$this->month."月".$this->first_week."天".$this->day;
echo "
$this->chageDate("index.php"); //用于用户调整年月份
$this->weekList();//显示星期
$this->dayList(); //显示天数
echo "
";}
//1、显示星期
private function weekList() {
$week = array("日","一","二","三","四","五","六");
echo "
";for ($i = 0; $i < count($week); $i++) {
echo "
".$week[$i]."";}
echo "
";}
//2.显示天数
private function dayList() {
$color = "#2ca50c";
echo "
";for ($i = 0; $i < $this->first_week; $i++) { //输出空格,弥补当前月空缺部分
echo "
";}
for ($k = 1; $i <= $this->day; $k++) {
$i++;
if ($k == date("d")) echo "
".$k.""; //是今天,加效果else echo "
".$k."";if ($i % 7 == 0) {
echo "
"; //每7天一次换行if ($i % 2 == 0) $color = "#2ca50c";
else $color = "#9ddb27"; //实现各行换色的效果
}
}
while ($i % 7 != 0) { //将剩余的空格补完
echo "
";$i++;
}
echo "
";}
//3、用于用户调整天数
private function chageDate($url="index.php") {
echo "
";echo "
".$this->year."年".$this->month."月
";echo "
";echo "
";echo "
"." "."";echo "
"." "."<";echo "
";echo 'month.'\'">';
for ($year = 2038; $year >= 1970; $year--) {
$selected = ($year == $this->year)?"selected":"";
echo ''.$year.'';
//echo ''.$year.'';
}
echo "";
echo 'year.'&month=\'+this.options[selectedIndex].value">';
for($month=1;$month <= 12;$month++){
$selected1 = ($month == $this->month) ? "selected" : "";
echo ''.$month.'';
}
echo '';
echo "
";echo "
"." ".">>"."";echo "
"." ".">"."";echo "
";}
private function prevYear($year, $month) { //获取上一年的数据
$year--;
if ($year < 1970) $year = 1970;
return "year={$year}&month={$month}";
}
private function prevMonth($year, $month) {
if ($month == 1) {
$year--;
if ($year < 1970) $year = 1970;
$month = 12;
}else $month--;
return "year={$year}&month={$month}";
}
private function nextYear($year, $month) { //获取上一年的数据
$year++;
if ($year > 2038) $year = 2038;
return "year={$year}&month={$month}";
}
private function nextMonth($year, $month) {
if ($month == 12) {
$year++;
if ($year > 2038) $year = 2038;
$month = 1;
}else $month++;
return "year={$year}&month={$month}";
}
}
主页 index.php
日历显示table {
border:1px solid #050;
margin: 100px auto;
}
th {
width: 30px;
background-color: #0CC;
color: #fff;
height: 30px;
font-size: 20px;
}
#nowd {
color: yellow;
background: #F00;
}
td {
width: 30px;
text-align: center;
height: 25px;
color: #fff;
}
a {
display: block;
width: 35px;
height: 35px;
background: #0F9;
text-decoration: none;
text-align: center;
line-height: 35px;
}
a:hover {
background: #CF0;
color: #fff;
font-size: 20px;
}
include "calendar.class.php";
$ca = new Calendar();
$ca->showCalendar();
?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
更多推荐
编写时间的php,PHP实现简单日历类编写
发布评论