php实现的日历程序


Posted in PHP onJune 18, 2015

本文实例讲述了php实现的日历程序。分享给大家供大家参考。具体如下:

<?php
////判断$Year和$Month是否为空,如果为空就获取系统当前日期,否则用$_GET获取
$Year = empty($_GET['Year']) ? date("Y"): $_GET["Year"];
$Month = empty($_GET['Month']) ? date("m"): $_GET["Month"];
////获取当前日期////
$Today = date("Ymj");
////初始化日期数组////
$Maxday = array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20",
"21","22","23","24","25","26","27","28","29","30","31");
$Maxday_count = count($Maxday);
////初始化星期数组////
$Weekday = array("<font color='red'>Sun</font>","Mon","Tue","Wed","Thu","Fri","<font color='red'>Sat</font>");
$Weekday_count = count($Weekday);
$daynum = 0;
$space = "<td> </td>";
$col = 0;
////打印表格头部////
?>
<form action="calendar.php" method="post" name="linked">
<table><tr><td colspan=3 align=center><a href="?Year=<?php if($Year-1 > 1900)echo $Year-1;else echo $Year;?>&Month=<?php echo $Month?>" onClick="javascript:document.linked.submit();" name="Year"><<</a> <?php echo $Year?> <a href="?Year=<?php if($Year+1 <2999) echo $Year+1;else echo $Year;?>&Month=<?php echo $Month?>" onClick="javascript:document.linked.submit();" name="Year">>></a></td>
<td> </td><td colspan=3 align=center><a href="?Year=<?php echo $Year?>&Month=<?php if($Month-1 >0) if($Month-1 < 10)echo "0".($Month-1); else echo $Month-1; else echo $Month;?>" onClick="javascript:document.linked.submit();" name="Month"><<</a> <?php echo $Month;?> <a href="?Year=<?php echo $Year?>&Month=<?php if($Month+1 <13) if($Month+1 <10) echo "0".($Month+1);else echo ($Month+1); else echo $Month;?>" onClick="javascript:document.linked.submit();" name="Month">>></a></td></tr><tr><td colspan="8"></td></tr><tr>
<?php
////打印星期列表////
while(list(,$Weekvalue) = each($Weekday))
 echo "<td align=center> ".$Weekvalue." </td>";
echo "</tr>";
////打印日期列表////
//当月份为4,6,9,11的时候,从数组末尾删除一个值,也就是删除31这个值.
if($Month == 4 or $Month == 6 or $Month == 9 or $Month == 11)
{
 array_pop($Maxday);
 $Maxday_count--;
}
//先判断月份是否为2月,如果是的话再判断年份是否为闰年,如果是的话就从数组尾部移除2个值,否则就移除3个值.
if($Month == 2)
{
 if($Year % 4 == 0)
 {
 array_pop($Maxday);
 array_pop($Maxday);
 $Maxday_count-=2;
 }
 else
 {
 array_pop($Maxday);
 array_pop($Maxday);
 array_pop($Maxday);
 $Maxday_count-=3;
 }
}
////打印日期////
while($daynum < $Maxday_count)
{
echo "<tr>";
 while(list($colnum,$Dayvalue) = each($Maxday))
 {
  //判断当前日期为一星期中的哪一天
  $DayWeek = date("w",strtotime($Year."-".$Month."-".$Dayvalue));
  //当当前日期处于第1个,也就是每个月的第1天的时候,在它前面补上相应的空格子
  if($Dayvalue == 1)
   for($i=0;$i<$DayWeek;$i++)
   echo $space;//打印每个月空出的几个格子
  $daynum++;
  //当打印日期的时候与当前日期字符串进行比较,如果相等就将字体标为红色.
  if($Year.$Month.$Dayvalue == $Today)
  {
   $u1 = "<b><u>";
   $u2 = "</b></u>";
  }
  else
  {
   $u1 = "";
   $u2 = "";
  }
  if($DayWeek == 0 or $DayWeek == 6)
   $color = "red";
  else
   $color = "black";
  echo "<td align=center><font color=".$color."> ".$u1.$Dayvalue.$u2." </font></td>";
  //用本周第几天这个值加1,如果是7的倍数就换行退出此轮循环(换行打印)
  if(($DayWeek+1) % 7 == 0)
  {
   $col++;
   break;
  }
 }
echo "</tr>";
}
?>

运行效果如下:

php实现的日历程序

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 PHP
phplock(php进程锁) v1.0 beta1
Nov 24 PHP
php checkbox复选框值的获取与checkbox默认值输出方法
May 15 PHP
PHP采集静态页面并把页面css,img,js保存的方法
Dec 23 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
PHP文件缓存类示例分享
Jan 30 PHP
分享ThinkPHP3.2中关联查询解决思路
Sep 20 PHP
PHP中的session安全吗?
Jan 22 PHP
PHP访问数据库集群的方法小结
Mar 14 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
PHP __call()方法实现委托示例
May 20 PHP
php实现的验证码文件类实例
Jun 18 #PHP
php实现的简单检验登陆类
Jun 18 #PHP
php实现比较全的数据库操作类
Jun 18 #PHP
php文件操作相关类实例
Jun 18 #PHP
php身份证号码检查类实例
Jun 18 #PHP
PHP批量生成图片缩略图的方法
Jun 18 #PHP
基于php的CMS中展示文章类实例分析
Jun 18 #PHP
You might like
PHP通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
数理公式,也可以这么唯美
2021/03/10 无线电
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
js漂浮广告实现代码
2015/08/15 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
JavaScript导航脚本判断当前导航
2016/07/12 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
js实现简单进度条效果
2020/03/25 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
python生成lmdb格式的文件实例
2018/11/08 Python
详解小白之KMP算法及python实现
2019/04/04 Python
python groupby 函数 as_index详解
2019/12/16 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
用css3实现当鼠标移进去时当前亮其他变灰效果
2014/04/08 HTML / CSS
SKECHERS斯凯奇中国官网:来自美国的运动休闲品牌
2018/11/14 全球购物
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
2015年九一八事变纪念日演讲稿
2015/03/19 职场文书
重阳节简报
2015/07/20 职场文书
CAD实训总结范文
2015/08/03 职场文书
教师节主题班会教案
2015/08/17 职场文书
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL
python中 Flask Web 表单的使用方法
2022/05/20 Python