gpt4 book ai didi

PHP实现简单日历类编写

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP实现简单日历类编写由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

用PHP实现日历类的编写,供大家参考,具体内容如下 。

calendar.class.php 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?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 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<!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实现简单日历类编写

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

原文链接:https://blog.csdn.net/shofe11/article/details/37594187 。

最后此篇关于PHP实现简单日历类编写的文章就讲到这里了,如果你想了解更多关于PHP实现简单日历类编写的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com