PHP输出日历表代码实例


Posted in PHP onMarch 27, 2015
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>月历表</title>
<?php
 $MONTH = array("元月","一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月");
 $enMONTH = array("元月","January" ,"February" ,"Marcy" ,"April" ,"May" ,"June" ,"July" ,"August" ,"September" ,"October" ,"November" ,"December");
 $WEEK = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
 $BACKCOLOR = array("#FFC" , "#FFF" , "#9F6" , "#FFC" , "#6F0" , "#6F6" , "#F90" , "#F06" , "#F00" , "#FC3" , "#FF6" , "#F99");
 
 function PrintMon($year, $mon)
 {
 date_default_timezone_set("Asia/Shanghai"); 
 global $MONTH;
 global $enMONTH;
 global $WEEK;
 global $BACKCOLOR;
 
 $startdate =strtotime("1 $enMONTH[$mon] $year"); //获取查询的年月
 $enddate = strtotime("+1 month",$startdate);   //获取下一个月的开始日期作为月历输出的截止时间
 $theDate = getdate($startdate); //把日期转化为字符串格式
 $color = $BACKCOLOR[$mon]; //设置月历的背景颜色
 
 echo("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"$color\">");
 $ym = $year . "年". $MONTH[$mon];
 echo("<caption><h1>$ym</h1></caption>");
 echo("<tr>");
 for ($i=0; $i<7; $i++) //输出星期几
 {
 echo("<td width=\"90\", height=\"40\" align=\"center\" >");
 echo("<h2>$WEEK[$i]</h2>");
 echo("</td>");
 }
 echo("</tr>");


 $theWeek = $theDate[wday];//判断当天是星期几
 for ($i=0; $i<6; $i++)
 {
 echo("<tr>");
 for ($j=0; $j<7; $j++)
 {
 echo("<td width=\"90\", height=\"40\" align=\"center\" >");
 if ($startdate < $enddate && $theWeek == $j)//把日期输出到对应的星期几所在列,并注意不要超出本月日期
 {
 $theDay = $theDate[mday];
 echo("<h2>$theDay</h2>");
 $startdate = strtotime("+1 day", $startdate); //日期前移1天
 $theDate = getdate($startdate);//更新日期
 $theWeek = ($theWeek + 1) % 7;//更新星期
 }
 echo("</td>");
 }
 echo("</tr>");
 if ($startdate == $enddate) //如果已经输出全部日期,结束循环
 {
 $i = 6;
 }
 }
 
 echo("</table");
 } 
?>


</head>


<body>


<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<h1>请输入要查看的年号和月份(查询范围为1970年1月1日至2038年)</h1>
<input type="text" name="myYear">年<input type="text" name="myMonth">月
<input type="submit">
</form>


<?php
 $year = $_POST['myYear']; 
 $month = $_POST['myMonth'];
 if (is_numeric($year) && $year >= 1970 && $year <2038)
 {
 if (is_numeric($month) && $month >= 1 && $month <=12)
 {
 PrintMon($year, $month);
 }
 else if($month != NULL)
 {
 echo("月份不对" . "<br />");
 }
 }
 else if($year != NULL)
 {
 echo("年份不对" . "<br />");
 }
?>


</body>
</html>
PHP 相关文章推荐
PHP中的日期及时间
Nov 23 PHP
那些年一起学习的PHP(一)
Mar 21 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
Jun 25 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
深入解析PHP中逗号与点号的区别
Aug 05 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
学习php设计模式 php实现装饰器模式(decorator)
Dec 07 PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 PHP
PHP简单实现合并2个数字键数组值的方法
May 30 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
Apr 02 PHP
php 使用mpdf实现指定字段配置字体样式的方法
Jul 29 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
Dec 13 PHP
使用php转义输出HTML到JavaScript
Mar 27 #PHP
PHP输出九九乘法表代码实例
Mar 27 #PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
Mar 27 #PHP
PHP5.3以上版本安装ZendOptimizer扩展
Mar 27 #PHP
使用GD库生成带阴影文字的图片
Mar 27 #PHP
Ubuntu12下编译安装PHP5.3开发环境
Mar 27 #PHP
php按字符无乱码截取中文的方法
Mar 27 #PHP
You might like
一个odbc连mssql分页的类
2006/10/09 PHP
截获网站title标签之家内容的例子
2006/10/09 PHP
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
初品cakephp 入门基础
2012/02/16 PHP
php防止SQL注入详解及防范
2013/11/12 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
php如何获取Http请求
2020/04/30 PHP
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
jquery异步请求实例代码
2011/06/21 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
微信小程序 首页制作简单实例
2017/04/07 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
用python打印1~20的整数实例讲解
2019/07/01 Python
Python logging设置和logger解析
2019/08/28 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
关于Python3爬虫利器Appium的安装步骤
2020/07/29 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
python如何编写类似nmap的扫描工具
2020/11/06 Python
电子商务专业实习生自我鉴定
2013/09/24 职场文书
函授自我鉴定
2013/11/06 职场文书
美容院店长岗位职责
2014/04/08 职场文书
小学课外活动总结
2014/07/09 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
公司管理制度范本
2015/08/03 职场文书
Golang中interface{}转为数组的操作
2021/04/30 Golang
Java实现多线程聊天室
2021/06/26 Java/Android