zoukankan      html  css  js  c++  java
  • 制作一个php万年历

    <?php
    /**
     * 1.获取日期年和月,默认当前年份和月份
     * 2.计算当前月份有多少天和本月1号是星期几
     * 3.输出日期的头部信息
     * 4.循环遍历输出输出天数
     * 5.完成上一月和下一月链接
     * *
    */
    //1.
    $year = empty($_REQUEST['y']) ? date("Y") : intval($_REQUEST['y']);
    $month = empty($_REQUEST['m']) ? date("m") : intval($_REQUEST['m']);
    //2.
    $day = date("t",mktime(0,0,0,$month,'1',$year));//获取对应该月的天数
    $moneday = date("w",mktime(0,0,0,$month,'1',$year)); //获取该月的星期几
    
    //3.
    $weekarr = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); 
    echo "<center>";
    echo "<h1>{$year}年{$month}月</h1>";
    echo "<table width='600' border='1' >";
    echo "<tr>";
    for($i=0;$i<=6;$i++){
        echo "<th>{$weekarr[$i]}</th>";
    }
    echo "</tr>";
    echo "<tr>";
    //4.
    $ed = 1;
    while($ed <= $day){
        //每七天换行
        echo "<tr>";
        for($i=0;$i<=6;$i++){
            //不能超过当月的天数且还没有该输出日期的时候
            if($ed <= $day && ($moneday <= $i || $ed != 1) ){
                echo "<td>{$ed}</td>";
                $ed++;
            }else{
                echo "<td></td>";
            }
        }
        
    }
    echo "</tr>";
    echo "</table>";
    //5
    $prey = $nexty = $year;//
    $prem = $nextm = $month;//
    if($prem <= 1){
        $prem = 12;
        $prey--;
    }else{
        $prem--;//上一月
    }
    if($nextm >= 12){
        $nextm = 1;
        $nexty++;
    }else{
        $nextm++;//下一月
    }
    echo "<h3><a href='wanianli.php?y={$prey}&m={$prem}'>上一月</a>&nbsp;&nbsp;";
    echo "<a href='wanianli.php?y={$nexty}&m={$nextm}'>下一月</a></h3>";
    echo "</center>";

  • 相关阅读:
    提交一个spark程序及spark执行器
    前端如何让服务器主动向浏览器推送数据
    h5页面移动端iPhoneX适配方法
    详说tcp粘包和半包
    mysql配置文件 /etc/my.cnf 详细解释
    【todo】MVCC原理及与锁之间的关系
    【todo】innodb表锁的底层实现原理
    【todo】innodb行锁的底层实现原理
    【todo】mysql binlog
    [todo] spring 事务的传播性
  • 原文地址:https://www.cnblogs.com/lzy007/p/6218652.html
Copyright © 2011-2022 走看看