php代码实现万年历的方法:1、利用PHP的日期函数获取当前年月日;2、计算该月第一天对应的是周几;3、分别计算上下月对应的年数与天数,实现上下月切换即可。

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

PHP实现万年历

实现一个PHP万年历,先上图:

总体实现逻辑是:先把某月的天数展示在table里面。然后计算该月第一天对应的是周几。最后分别计算上下月对应的年数与天数,实现上下月切换。下面将一步一步具体实现:

第一步:利用PHP的日期函数获取当前年月日:

  • 获取当前年 $y = date("Y");
  • 获取当前月 $y = date("m");
  • 获取当前是多少号 $d = date("d");
  • 获取该月有多少天 $maxday = date("t");
  • 获取本月第一天对应的星期 date("w",strtotime("{$y}-{$m}-1"));
  • 接下来是界面代码,代码如下图

  • 以上第一个for循环用于循环输出最大天数,1-$week表示对应的本月第一天是星期几。第二个for循环,循环输出每一行的日期。其中$i == $d表示判断是否为本月本号的日期,如果是则字体为红色标注。

第二步,实现上月和下一月切换:

  • 分别定义变量 $prey,$preMonth,$nexty,$nextMonth表示点击上一月和下一月对应的年月
  • 给上下年月赋值,并且为a标签添加链接 代码如下图

第三步:初始化的年月日,进行判断。判断是否为点击的上一月或者下一月。如果是这取该年月。不是者取当前。

  • $y = isset($_GET["y"])?$_GET["y"]:date("Y");取年
  • $m = isset($_GET["m"])?$_GET["m"]:date("m");取月
  • if ($y == date("Y") && $m == date("m")) {
    $d = date("d");
    }判断是否为当前日期。具体代码如下图

到此万年历完成。


php代码怎么实现万年历