侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 129162 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

PHP实现简单日历类编写

2023-12-29 星期五 / 0 评论 / 0 点赞 / 14 阅读 / 5460 字

用PHP实现日历类的编写,供大家参考,具体内容如下calendar.class.php<php/** 创建一个日历类***/ //修改默认时区 date_default_timezone_set("PRC"); cla

用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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程圈。

广告 广告

评论区