php实现的日历程序

 更新时间:2015年06月18日 16:27:00   作者:疯狂的流浪  
这篇文章主要介绍了php实现的日历程序,可实现基本的日历显示与实时查询功能,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了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>&nbsp;</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>&nbsp;<?php echo $Year?>&nbsp;<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>&nbsp;</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>&nbsp;<?php echo $Month;?>&nbsp;<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>&nbsp;".$Weekvalue."&nbsp;</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.">&nbsp;".$u1.$Dayvalue.$u2."&nbsp;</font></td>";
  //用本周第几天这个值加1,如果是7的倍数就换行退出此轮循环(换行打印)
  if(($DayWeek+1) % 7 == 0)
  {
   $col++;
   break;
  }
 }
echo "</tr>";
}
?>

运行效果如下:

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

相关文章

  • php设计模式之委托模式

    php设计模式之委托模式

    这篇文章主要为大家详细介绍了php设计模式之委托模式,以一个实例为大家介绍了php委托模式,感兴趣的朋友可以参考一下
    2016-02-02
  • php基于curl实现的股票信息查询类实例

    php基于curl实现的股票信息查询类实例

    这篇文章主要介绍了php基于curl实现的股票信息查询类,结合完整实例形式分析了php使用curl调用API接口实现股票信息查询功能的相关操作技巧,需要的朋友可以参考下
    2016-11-11
  • PHP extract 将数组拆分成多个变量的函数

    PHP extract 将数组拆分成多个变量的函数

    extract()函数提取关联数组(对数字索引数组无效)每对key和value,生成以key为变量名、value为对应值的多组新变量。
    2010-06-06
  • WordPress分页伪静态加html后缀

    WordPress分页伪静态加html后缀

    本文给大家分享的是在使用WordPress的过程中,发现其内容页分页的形式非常的不友好,于是就动手进行修改的过程以及详细代码,非常的实用,推荐给大家。
    2016-06-06
  • php实现源代码加密的方法

    php实现源代码加密的方法

    这篇文章主要介绍了php实现源代码加密的方法,涉及php针对文件操作及字符串加密的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 利用php生成验证码

    利用php生成验证码

    本文主要分享了利用php生成验证码的示例代码,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • php保留数字小数点后两位的方法

    php保留数字小数点后两位的方法

    我们在学习或生活中经常会遇到需要保留数字小数点后两位的问题,所以本文小编给大家介绍了使用php保留数字小数点后两位的方法,文中通过代码示例介绍的非常详细,感兴趣的同学可以参考阅读下
    2023-12-12
  • php用户注册时常用的检验函数实例总结

    php用户注册时常用的检验函数实例总结

    这篇文章主要介绍了php用户注册时常用的检验函数,以类的形式实例总结了用户名验证、邮箱验证、QQ验证等常用的验证技巧,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • php基于数组函数实现关联表的编辑操作示例

    php基于数组函数实现关联表的编辑操作示例

    这篇文章主要介绍了php基于数组函数实现关联表的编辑操作,涉及php数组比较函数array_intersect与array_diff的相关使用技巧,需要的朋友可以参考下
    2017-07-07
  • php Xdebug的安装与使用详解

    php Xdebug的安装与使用详解

    本篇文章是对php Xdebug的安装与使用进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论