文档章节

PHP的简单万年历

M
 Make-Null
发布于 2016/07/10 23:08
字数 454
阅读 14
收藏 0
<?php
/**
 * PHP万年历
 */
class Calendar{
    protected $_table;//table表格
    protected $_currentDate;//当前日期
    protected $_year;    //    protected $_month;    //    protected $_days;    //给定的月份应有的天数
    protected $_dayofweek;//给定月份的 1号 是星期几
    /**
     * 构造函数
     */
    public function __construct()
    {
        $this->_table="";
        $this->_year  = isset($_GET["y"])?$_GET["y"]:date("Y");
        $this->_month = isset($_GET["m"])?$_GET["m"]:date("m");
        if ($this->_month>12){//处理出现月份大于12的情况
            $this->_month=1;
            $this->_year++;
        }
        if ($this->_month<1){//处理出现月份小于1的情况
            $this->_month=12;
            $this->_year--;
        }
        $this->_currentDate = $this->_year.''.$this->_month.'月份';//当前得到的日期信息
        $this->_days           = date("t",mktime(0,0,0,$this->_month,1,$this->_year));//得到给定的月份应有的天数
        $this->_dayofweek    = date("w",mktime(0,0,0,$this->_month,1,$this->_year));//得到给定的月份的 1号 是星期几
    }
    /**
     * 输出标题和表头信息
     */
    protected function _showTitle()
    {
        $this->_table="<table><thead><tr align='center'><th colspan='7'>".$this->_currentDate."</th></tr></thead>";
        $this->_table.="<tbody><tr>";
        $this->_table .="<td style='color:red'>星期日</td>";
        $this->_table .="<td>星期一</td>";
        $this->_table .="<td>星期二</td>";
        $this->_table .="<td>星期三</td>";
        $this->_table .="<td>星期四</td>";
        $this->_table .="<td>星期五</td>";
        $this->_table .="<td style='color:red'>星期六</td>";
        $this->_table.="</tr>";
    }
    /**
     * 输出日期信息
     * 根据当前日期输出日期信息
     */
    protected function _showDate()
    {
        $nums=$this->_dayofweek+1;        }

for ($i=1;$i<=$this->_dayofweek;$i++){//输出1号之前的空白日期
            $this->_table.="<td> </td>";
        for ($i=1;$i<=$this->_days;$i++){//输出天数信息
            if ($nums%7==0){//换行处理:7个一行
                $this->_table.="<td>$i</td></tr><tr>";
            }else{
                $this->_table.="<td>$i</td>";
            }
            $nums++;
        }
        $this->_table.="</tbody></table>";
        $this->_table.="<h3><a href='?y=".($this->_year)."&m=".($this->_month-1)."'>上一月</a>   ";
        $this->_table.="<a href='?y=".($this->_year)."&m=".($this->_month+1)."'>下一月</a></h3>";
    }
    /**
     * 输出日历
     */
    public function showCalendar()
    {
        $this->_showTitle();
        $this->_showDate();
        echo $this->_table;
    }
}
$calc=new Calendar();
$calc->showCalendar();

© 著作权归作者所有

M
粉丝 0
博文 11
码字总数 5402
作品 0
库尔勒
程序员
私信 提问
万年历农历与公历转换

开发语言:PHP 提供封装好的程序包即类文件 提供使用样例和测试代码 提借必要的说明文档 农历与公历转换支持公元元年即公元1年至公元2100年 验收时我们主要通过苹果手机的万年历对应表测试...

孙晓晔
2017/02/03
2
0
emWin万年历,含uCOS-III和FreeRTOS两个版本

第8期:万年历 配套例子: V6-914STemWin提高篇实验万年历(uCOS-III) V6-915STemWin提高篇实验万年历(FreeRTOS) 例程下载地址: http://forum.armfly.com/forum.php?mod=viewthread&tid...

席萌0209
2018/08/04
0
0
求一套万年历的生成算法

最近在做个万年历的网站.想询问下万年历的算法,及八字XXX等的.有算法最好.没有的话下问下有没有库之类的东西

李剑
2015/04/02
133
0
中国天气预报与万年历Chrome扩展

此Chrome扩展提供两个非常实用的功能:天气预报与万年历。通过设定此扩展可以提供国内多个城市的2-5天的天气预报。万年历功能提供1901-2049的农历与公历日期资料。此扩展的数据来源于中国天气...

匿名
2010/10/20
3.9K
1
求解释:为什么今年的黄历有两套呢,到底那个正确?

家里有4个人各有一部手机,但是昨天晚上才发现,2013年农历的4月在历法上竟然有差别: 两部手机显示2013年农历4月是大月,有30天,即2013年6月8日是农历的四月三十日,端午是2013年6月13日 ...

赵开锦
2013/06/09
740
16

没有更多内容

加载失败,请刷新页面

加载更多

AOP的学习(1)

AOP 理解AOP编程思想(面向方法、面向切面) spring AOP的概念 方面 -- 功能 目标 -- 原有方法 通知 -- 对原有方法增强的方法 连接点 -- 可以用来连接通知的地方(方法) 切入点 -- 将用来插入...

太猪-YJ
14分钟前
1
0
一张图看懂亮度、明度、光度、光亮度、明亮度

亮度、明度、光亮度,Luminance和Brightness、lightness其实都是一个意思,只是起名字太难了。 提出一个颜色模型后,由于明度的取值与别人的不同,为了表示区别所以就另想一个词而已。 因此在...

linsk1998
昨天
1
0
Python应用:python链表示例

前言 python链表应用源码示例,需要用到python os模块方法、函数和类的应用。 首先,先简单的来了解下什么是链表?链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是...

python小白1
昨天
3
0
Source Insight加载源码

Source Insight是一个图形化的源代码查看工具(当然也可以作为编译工具)。如果一个项目的源代码较多,此工具可以很方便地查找到源代码自建的依赖关系。 1.创建工程 下图为Snort源代码的文件...

天王盖地虎626
昨天
3
0
nginx-rtmp-module的缺陷分析(二)

nginx-rtmp-module使用指令push和pull来relay媒体流数据,以便分布式部署服务。 当nginx-rtmp-module作为边缘服务器(一般不会向边缘服务器推流)时,使用pull从源服务器获取媒体流数据,俗称...

YoungSagit
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部