欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP设计年历类一 (38)

程序员文章站 2022-06-17 15:30:46
...
PHP设计日历类一 (38)

由两个文件组成:

第一个test.php

php    include "calendar.class.php";    $calendar=new Calendar;    $calendar->out();

第二个日历类:calendar.class.php

phpclass Calendar {        private $year; //当前的年        private $month; //当前的月        private $start_weekday; //当月的第一天对应的是周几        private $days; //当前月一共多少天        function __construct(){            $this->year=isset($_GET["year"]) ? $_GET["year"] : date("Y");            $this->month=isset($_GET["month"]) ? $_GET["month"] : date("m");                        $this->start_weekday=date("w", mktime(0, 0, 0, $this->month, 1, $this->year));            $this->days=date("t", mktime(0, 0, 0, $this->month, 1, $this->year));        }        function out(){            echo '';            $this->chageDate("test.php");            $this->weeksList();            $this->daysList();            echo '
'; } private function weeksList(){ $week=array('','','','','','',''); echo ' '; for($i=0; $i) echo ' '.$week[$i].' '; echo ' '; } private function daysList(){ echo ' '; //输出空格(当前一月第一天前面要空出来) for($j=0; $jthis->start_weekday; $j++) echo ' '; for($k=1; $kthis->days; $k++){ $j++; if($k==date('d')) echo ' '.$k.' '; else echo ' '.$k.' '; if($j%7==0) echo ' '; } //后面几个空格 while($j%7!==0){ echo ' '; $j++; } echo ' '; } private function prevYear($year, $month){ $year=$year-1; if($year 1970) $year = 1970; return "year={$year}&month={$month}"; } private function prevMonth($year, $month){ if($month == 1) { $year = $year -1; if($year 1970) $year = 1970; $month=12; }else{ $month--; } return "year={$year}&month={$month}"; } private function nextYear($year, $month){ $year = $year + 1; 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}"; } private function chageDate($url=""){ echo ' '; echo ''.$this->prevYear($this->year, $this->month).'">'.''.' '; echo ''.$this->prevMonth($this->year, $this->month).'">'.''.' '; echo ' '; echo '
'; echo '.$url.'?year=\'+this.options[selectedIndex].value+\'&month='.$this->month.'\'">'; for($sy=1970; $sy 2038; $sy++){ $selected = ($sy==$this->year) ? "selected" : ""; echo ''; } echo ''; echo '.$url.'?year='.$this->year.'&month=\'+this.options[selectedIndex].value">'; for($sm=1; $sm12; $sm++){ $selected1 = ($sm==$this->month) ? "selected" : ""; echo ''; } echo ''; echo ''; echo ' '; echo ''.$this->nextYear($this->year, $this->month).'">'.'>>'.' '; echo ''.$this->nextMonth($this->year, $this->month).'">'.'>'.' '; echo '
'; } }

效果:

PHP设计年历类一 (38)

PHP设计年历类一 (38)

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • PHP设计年历类一 (38)
  • 专题推荐

    作者信息
    PHP设计年历类一 (38)

    认证0级讲师

    推荐视频教程
  • PHP设计年历类一 (38)javascript初级视频教程
  • PHP设计年历类一 (38)jquery 基础视频教程
  • 视频教程分类