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("/\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> </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万年历的更多相关文章
- c#实现万年历示例分享 万年历农历查询
cs.cs(类页面) using System;using System.Collections.Generic;using System.Linq;using System.Web; namespa ...
- 小JAVA大世界之万年历
import java.util.Scanner; public class Calendar { public static void main(String[] args) { // 万年历 in ...
- PHP世纪万年历
<? //世纪万年历 #这是唯一的设置-请输入php文件的位置 $file="http://192.168.1.168/php/rl/s2m.php"; //#农历每 ...
- C#实现万年历(农历、节气、节日、星座、属相、生肖、闰年等)
C# 万年历 农历 节气 节日 星座 星宿 属相 生肖 闰年月 时辰等,代码如下: using System.Collections.Generic; using System.Text; using ...
- STM32的RTC万年历显示问题
博客整理后写出来的,有点乱,大家见谅! 想让串口输出万年历效果.每次秒刷新一次 结果是串口软件一直输出,看起来很难受 先讲一讲C代码的\r和\n的区别 \r 就是return 回到 本行 行首 这就会 ...
- java 面向过程实现万年历
public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-gener ...
- [C语言练习]万年历加强版
/** * @copyright 2011 Chunhui Wang * * wangchunhui@wangchunhui.cn */ #include<stdio.h> int mai ...
- IT第六天 - eclipse快捷操作、万年历项目的编写、菱形的打印输出、代码简化
IT第六天 上午 小项目 1.程序提前结束的退出标志 2.登录用户的模拟,给出适当的提示信息 3.根据要求,寻找规律,然后编写程序 Eclipse的使用 1.快捷键的使用 下午 中小项目 1.九九乘法 ...
- OC-之NSDate、万年历
万年历计算星期-基姆拉尔森公式 #include /* * 基姆拉尔森计算公式* W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7*/int week(int ...
随机推荐
- MySQL的基本知识 -- 命令
1.数据库和表 SHOW DATABASES; 返回可用数据库的一个列表 SHOW TABLES; 返回一个数据库内的表的列表 SHOW COLUMNS FROM tableName; 返回数据表的表 ...
- BZOJ2748[HAOI2012]音量调节
Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改 ...
- js 检测页面刷新或关闭
window.onbeforeunload=function(){ //要提交的内容 return "随意写";//必须有return ,不然只有ie有效,chrome无效 }
- 发布一个免费开源软件-- PAD流程图绘制软件PADFlowChart
软件的可执行文件下载:PADFlowChart-exe.zip MD5校验码:91FCA9FEC9665FD09BEB3DA94ADC1CE6 SHA1校验码:ECD742AA3092A085AB07 ...
- 搭建一套自己实用的.net架构(4)【CodeBuilder-RazorEngine】
工欲善其事必先利其器, 下面来说说代码生成器. 现在代码生成器品种繁多各式各样, 什么codesmith.T4. 动软也算.那么每款代码生成器都有自己模板解析引擎. 现在比较流行的 NVelocit ...
- JsonPropertyOrder无法为DTO对象进行属性排序
在项目中,遇到一个问题,无论怎么设置JsonPropertyOrder,都无法正确实现排序功能,问题代码如下: @JsonPropertyOrder(value={"courseId&quo ...
- 使用PhpDocumentor生成文档
一,网站根目录执行 $ composer require --dev phpdocumentor/phpdocumentor 二,进入vendor/bin/目录执行 $phpdoc -d D:\ser ...
- Android Gradle 完整指南(转)
本文转载来自:http://www.jianshu.com/p/9df3c3b6067a 为什么需要学Gradle? Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前 ...
- Azure SQL Data Warehouse
Azure SQL Data Warehouse & AWS Redshift Amazon Redshift Amazon Redshift 是一种快速.完全托管的 PB 级数据仓库,可方便 ...
- hibernate在使用getCurrentSession时提示no session found for current thread
大致错误片段 org.hibernate.HibernateException: No Session found for current thread at org.springframework. ...