用PHP怎样创建一个日历类,方法是什么?
导读:这篇文章主要介绍用PHP怎样创建一个日历类的内容,对大家学习PHP会有一定的帮助,下文示例代码具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章能有所收获,接下来小编带着大家一起了解看看。 calendar.class.php...
这篇文章主要介绍用PHP怎样创建一个日历类的内容,对大家学习PHP会有一定的帮助,下文示例代码具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章能有所收获,接下来小编带着大家一起了解看看。
calendar.class.php
?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 "table align='center'> "; //用表格输出 $this-> chageDate("index.php"); //用于用户调整年月份 $this-> weekList(); //显示星期 $this-> dayList(); //显示天数 echo "/table> "; } //1、显示星期 private function weekList() { $week = array("日","一","二","三","四","五","六"); echo "tr> "; for ($i = 0; $i count($week); $i++) { echo "th> ".$week[$i]."/th> "; } echo "/tr> "; } //2.显示天数 private function dayList() { $color = "#2ca50c"; echo "tr> "; for ($i = 0; $i $this-> first_week; $i++) { //输出空格,弥补当前月空缺部分 echo "td bgcolor='#2ca50c'> /td> "; } for ($k = 1; $i = $this-> day; $k++) { $i++; if ($k == date("d")) echo "td id='nowd'> ".$k."/td> "; //是今天,加效果 else echo "td bgcolor=$color> ".$k."/td> "; if ($i % 7 == 0) { echo "/tr> tr> "; //每7天一次换行 if ($i % 2 == 0) $color = "#2ca50c"; else $color = "#9ddb27"; //实现各行换色的效果 } } while ($i % 7 != 0) { //将剩余的空格补完 echo "td bgcolor='#2ca50c'> /td> "; $i++; } echo "/tr> "; } //3、用于用户调整天数 private function chageDate($url="index.php") { echo "tr> "; echo "caption> h1> ".$this-> year."年".$this-> month."月/h1> /caption> "; echo "/tr> "; echo "tr> "; echo "td> "."a href='?".$this-> prevYear($this-> year,$this-> month)."'> ".""."/a> "; echo "td> "."a href='?".$this-> prevMonth($this-> year,$this-> month)."'> ".""."/a> "; echo "td colspan='3'> "; echo 'select οnchange="window.location=\''.$url.'?year=\'+this.options[selectedIndex].value+\'& month='.$this-> month.'\'"> '; for ($year = 2038; $year > = 1970; $year--) { $selected = ($year == $this-> year)?"selected":""; echo 'option '.$selected. ' value="'.$year.'"> '.$year.'/option> '; //echo 'option '.$selected.' value="'.$year.'"> '.$year.'/option> '; } echo "/select> "; echo 'select name="month" οnchange="window.location=\''.$url.'?year='.$this-> year.'& month=\'+this.options[selectedIndex].value"> '; for($month=1; $month = 12; $month++){ $selected1 = ($month == $this-> month) ? "selected" : ""; echo 'option '.$selected1.' value="'.$month.'"> '.$month.'/option> '; } echo '/select> '; echo "/td> "; echo "td> "."a href='?".$this-> nextMonth($this-> year,$this-> month)."'> "."> > "."/a> "; echo "td> "."a href='?".$this-> nextYear($this-> year,$this-> month)."'> "."> "."/a> "; echo "/tr> "; } 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
!doctype html> html> head> meta charset="utf-8"> title> 日历显示/title> style> 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; } /style> /head> body> ?php include "calendar.class.php"; $ca = new Calendar(); $ca-> showCalendar(); ?> /body> /html>
关于PHP实现一个日历类的内容就介绍到这,本文代码仅供参考,感兴趣的朋友可以了解看看,希望能对大家有帮助,想要了解更多大家可以关注其它的相关文章。
文本转载自脚本之家
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 用PHP怎样创建一个日历类,方法是什么?
本文地址: https://pptw.com/jishu/653086.html