最近学习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("/\b(1[0-2])\b|\b[0-9]\b|\b0[0-9]\b/", $_GET['m']) && $_GET['m'] ) {
echo '<script>alert("你查询月份有误!");</script>';
} elseif (!preg_match("/^\d+\d\b/", $_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显示当前时刻表

php万年历的更多相关文章

  1. c#实现万年历示例分享 万年历农历查询

    cs.cs(类页面) using System;using System.Collections.Generic;using System.Linq;using System.Web; namespa ...

  2. 小JAVA大世界之万年历

    import java.util.Scanner; public class Calendar { public static void main(String[] args) { // 万年历 in ...

  3. PHP世纪万年历

    <?  //世纪万年历  #这是唯一的设置-请输入php文件的位置  $file="http://192.168.1.168/php/rl/s2m.php";  //#农历每 ...

  4. C#实现万年历(农历、节气、节日、星座、属相、生肖、闰年等)

    C# 万年历 农历 节气 节日 星座 星宿 属相 生肖 闰年月 时辰等,代码如下: using System.Collections.Generic; using System.Text; using ...

  5. STM32的RTC万年历显示问题

    博客整理后写出来的,有点乱,大家见谅! 想让串口输出万年历效果.每次秒刷新一次 结果是串口软件一直输出,看起来很难受 先讲一讲C代码的\r和\n的区别 \r 就是return 回到 本行 行首 这就会 ...

  6. java 面向过程实现万年历

    public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-gener ...

  7. [C语言练习]万年历加强版

    /** * @copyright 2011 Chunhui Wang * * wangchunhui@wangchunhui.cn */ #include<stdio.h> int mai ...

  8. IT第六天 - eclipse快捷操作、万年历项目的编写、菱形的打印输出、代码简化

    IT第六天 上午 小项目 1.程序提前结束的退出标志 2.登录用户的模拟,给出适当的提示信息 3.根据要求,寻找规律,然后编写程序 Eclipse的使用 1.快捷键的使用 下午 中小项目 1.九九乘法 ...

  9. OC-之NSDate、万年历

    万年历计算星期-基姆拉尔森公式 #include /* * 基姆拉尔森计算公式* W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7*/int week(int ...

随机推荐

  1. 第1章 重构,第一个案例(3):运用多态取代switch

    3. 运用多态取代与价格相关的条件逻辑 3.1 switch和“常客积分”代码的再次搬迁 (1)switch:最好不要在另一个对象的属性上运用switch语句 switch(getMovie().ge ...

  2. httpd配置.md

    httpd-2.2 配置 监听端口和IP 配置文件: Listen [IP:]PORT 省略IP表示为0.0.0.0 Listen指令可重复出现多次 修改监听socket,重启服务进程方可生效 可以监 ...

  3. jenkins 入门教程(上)

    jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:java, ...

  4. 学习SAP HANA SQL

      学习SAP HANA SQL 语句(创建 EMP,DEPT,BONUS 和 SALGRADE测试表)--像学Oracle一样学习SAP HANA 标签: sap测试oraclesqltableda ...

  5. 20145208 GDB调试汇编堆栈过程分析

    20145208 GDB调试汇编堆栈过程分析 测试代码 #include<stdio.h> short addend1 = 1; static int addend2 = 2; const ...

  6. 51Nod--1015 水仙花数

    51Nod:  http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1015   1015 水仙花数 基准时间限制:1 秒 空间 ...

  7. 使用caffe训练自己的CNN

    现在有这样的一个场景:给一张行人的小矩形框图片, 根据该行人的特征识别出性别. 分析: (1),行人的姿态各异,变化多端.很难提取图像的特定特征 (2),正常人肉眼判别行人的根据是身材比例,头发长度等 ...

  8. MongoDB学习笔记一

    操作系统:Windows7 1.下载MongoDB 2.6.5服务端,并安装 网址:http://pan.baidu.com/s/1dDfoJAh 说明:网上很多都不需要安装的,这个需要安装. 2.添 ...

  9. PHP7中php.ini、php-fpm和www.conf的配置

    引自:https://typecodes.com/web/php7configure.html 1 配置php.ini php.ini是php运行核心配置文件: ######避免PHP信息暴露在htt ...

  10. 利用ucenter整合discuz数据

    由于项目需要,需要用到discuz论坛用户的数据,所以想到利用ucenter获取数据.以下为整合ucenter的过程. 1.首先你需要下载官方demo:http://faq.comsenz.com/l ...