zoukankan      html  css  js  c++  java
  • php万年历

    最近学习php循环、日期显示、GET方式请求,进而实现了一个小程序。

    直接上代码:

    <?php 
    header("Content-type:text/html; charset=UTF-8");
    echo '
    <html>
        <head>
            <title>万年历</title>
            <script type="text/javascript">
                function startTime()
                {
                    var today=new Date()
                    var h=today.getHours()
                    var m=today.getMinutes()
                    var s=today.getSeconds()
                    m=checkTime(m)
                    s=checkTime(s)
                    document.getElementById('."'".'txt'."'".').innerHTML=h+":"+m+":"+s
                    t=setTimeout('."'".'startTime()'."'".',500)
                }
    
                function checkTime(i)
                {
                    if (i<10) {
                        i="0" + i
                    }
                    return i
                }
            </script>
        </head>
    <body onload="startTime();"><br>';
    $y = date('Y');
    $m = date('m');
    $d = date('d');
    
    if (!preg_match("/(1[0-2])|[0-9]|0[0-9]/", $_GET['m']) && $_GET['m'] ) {
        echo '<script>alert("你查询月份有误!");</script>';
    } elseif (!preg_match("/^d+d/", $_GET['y'])&&$_GET['y']) {
        echo '<script>alert("你查询年份有误!");</script>';} 
    else {
    $year = $_GET['y'] ? $_GET['y'] : $y;
    $month = $_GET['m'] ? $_GET['m'] : $m;
    $days = date('t', strtotime("{$year}-{$month}-1"));
    $week = date('w', strtotime("{$year}-{$month}-1"));
    if ($month == 1) {
        $prevyear = $year - 1;
        $prevmonth = 12;
    } else {
        $prevyear = $year;
        $prevmonth = $month - 1;
    }
    if ($month == 12) {
        $nextyear = $year + 1;
        $nextmonth = 1;
    } else {
        $nextyear = $year;
        $nextmonth = $month + 1;
    }
    
    echo "<center>";
    //echo '<h1 onload="startTime()">这是一个时间:</h1>';
    echo "{$year}年{$month}月一共{$days}天<br>";
    echo '<h2><a href="万年历.php?y='.$prevyear.'&m='.$prevmonth.'">上一个</a>|<a href="万年历.php?y='.$nextyear.'&m='.$nextmonth.'">下一个</a>';
    echo "</h2><div><h2>{$year}年{$month}月</h2>";
    echo '<table width="700px" border="1px">';
    echo '<tr>';
    echo '
        <td>周日</td>
        <td>周一</td>
        <td>周二</td>
        <td>周三</td>
        <td>周四</td>
        <td>周五</td>
        <td>周六</td>';
    echo "</tr><br>";
    for ($i=1-$week; $i <= $days;){
        echo "<tr>";
        for ($j=0; $j < 7; $j++) { 
             if ($i > $days || $i < 1) {
                 echo "<td>&nbsp</td>";
             } elseif($month==$m&&$year==$y&&$i == $d){
                 echo '<td bgcolor="#7FFFD4">'.$i.'</td>';
             }else {
                 echo "<td>{$i}</td>";
             }
             $i++;
        }
        echo "</tr><br>";
    }
    echo "</table></div>";
    }
    echo '<div id="txt" align="right"></div></body></html>';
    ?>

    源码特点:

      1. 通过GET提交年份与月份

      2. 运用正则表达式进行输入合法性

      3. 判断年份是否闰年

      4. 日历框架,显示对应星期

      5. 利用javascript显示当前时刻表

    ded3
  • 相关阅读:
    光棍节奉献10款chart插件 节日快乐.
    平安夜分享2款下拉菜单(CSS版本和JQuery版本)
    MVC 中T4扫盲贴
    解析JQuery 的Bind()事件
    Null在从数据库读取的时候的一点点小阴谋
    JQuery 动画效果集锦
    VS2010支持的6款UML简介
    T4系列文章之2:T4工具简介、调试以及T4运行原理
    既然结构也可以继承接口
    css float 之 clear
  • 原文地址:https://www.cnblogs.com/dedeblog/p/6029391.html
Copyright © 2011-2022 走看看