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>";

  • 相关阅读:
    20.12.2 leetcode7
    20.12.1 leetcode34
    20.11.30 leetcode767
    20.11.29 leetcode976
    Codeforces632E 选择/小偷与商店 背包DP
    魔法少女 DP NG放的水
    逆反的01串 模拟 NG放的水
    最大数maxnumber bzoj1012 JSOI2008 单调队列
    组合数问题 vijos2006 NOIP2016 D2T1 杨辉三角 排列组合 前缀和
    信息传递 vijos1979 NOIP2015D1T2 强连通分量 tarjan模版题
  • 原文地址:https://www.cnblogs.com/lzy007/p/6218652.html
Copyright © 2011-2022 走看看