主頁 > 知識(shí)庫 > PHP實(shí)現(xiàn)簡(jiǎn)單日歷類編寫

PHP實(shí)現(xiàn)簡(jiǎn)單日歷類編寫

熱門標(biāo)簽:電子地圖標(biāo)注怎么修改 梧州市機(jī)器人外呼系統(tǒng)怎么樣 臨沂crm外呼系統(tǒng)平臺(tái) 地圖標(biāo)注符號(hào)樣式有 如何在世界地圖標(biāo)注 菏澤語音外呼系統(tǒng)運(yùn)營商 廈門400電話辦理選易號(hào)網(wǎng) 公司外呼系統(tǒng)中心 天客通地圖標(biāo)注

用PHP實(shí)現(xiàn)日歷類的編寫,供大家參考,具體內(nèi)容如下

calendar.class.php

?php
/*
* 創(chuàng)建一個(gè)日歷類
*
*
*/
 //修改默認(rèn)時(shí)區(qū)
 date_default_timezone_set("PRC");
 
 class Calendar {
  private $year;
 private $month;
 private $day; //當(dāng)月總天數(shù)
 private $first_week; //每月的第一天是星期幾
 
 //構(gòu)造函數(shù)
 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"); //用于用戶調(diào)整年月份
  $this->weekList();//顯示星期
  $this->dayList(); //顯示天數(shù)
  
  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.顯示天數(shù)
 private function dayList() {
  $color = "#2ca50c";
  echo "tr>";
  for ($i = 0; $i  $this->first_week; $i++) { //輸出空格,彌補(bǔ)當(dāng)前月空缺部分
   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"; //實(shí)現(xiàn)各行換色的效果
   }
  }
  while ($i % 7 != 0) { //將剩余的空格補(bǔ)完
   echo "td bgcolor='#2ca50c'> /td>";
  $i++; 
  }
  echo "/tr>";
 }
  
 //3、用于用戶調(diào)整天數(shù)
 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) { //獲取上一年的數(shù)據(jù)
  $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) { //獲取上一年的數(shù)據(jù)
  $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>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PHP實(shí)現(xiàn)的簡(jiǎn)單日歷類
  • 一個(gè)比較不錯(cuò)的PHP日歷類分享
  • PHP完整的日歷類(CLASS)

標(biāo)簽:雞西 貴陽 瀘州 白城 綿陽 郴州 黃石 迪慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP實(shí)現(xiàn)簡(jiǎn)單日歷類編寫》,本文關(guān)鍵詞  PHP,實(shí)現(xiàn),簡(jiǎn)單,日歷,類,編寫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP實(shí)現(xiàn)簡(jiǎn)單日歷類編寫》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP實(shí)現(xiàn)簡(jiǎn)單日歷類編寫的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章