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 相关文章推荐
php下MYSQL limit的优化
Jan 10 PHP
PHP 图像尺寸调整代码
May 26 PHP
php连接Access数据库错误及解决方法
Jun 20 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
CI框架中通过hook的方式实现简单的权限控制
Jan 07 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 PHP
php生成0~1随机小数的方法(必看)
Apr 05 PHP
Ubuntu彻底删除PHP7.0的方法
Jul 27 PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 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获取windows登录用户名的方法
2014/06/24 PHP
PHP获取当前页面URL函数实例
2014/10/22 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
jQuery应用之jQuery链用法实例
2015/01/19 Javascript
javascript实现回到顶部特效
2015/05/06 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
初探nodeJS
2017/01/24 NodeJs
微信小程序动态添加分享数据
2017/06/14 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
js实现GIF图片的分解和合成
2019/10/24 Javascript
JavaScript如何借用构造函数继承
2019/11/06 Javascript
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
在Mac OS上搭建Python的开发环境
2015/12/24 Python
python使用Matplotlib画条形图
2020/03/25 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
护士求职自荐信范文
2014/03/19 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
优秀教研组申报材料
2014/12/26 职场文书
个人委托函范文
2015/01/29 职场文书
学校运动会开幕词
2016/03/03 职场文书