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 相关文章推荐
基于mysql的bbs设计(四)
Oct 09 PHP
初学CAKEPHP 基础教程
Nov 02 PHP
基于empty函数的输出详解
Jun 17 PHP
PHP类的反射用法实例
Nov 03 PHP
PHP开发注意事项总结
Feb 04 PHP
php查看当前Session的ID实例
Mar 16 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
PHP如何实现Unicode和Utf-8编码相互转换
Jul 29 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
Sep 22 PHP
php分享朋友圈的实现代码
Feb 18 PHP
laravel 去掉index.php伪静态的操作方法
Oct 12 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
基于JQuery的密码强度验证代码
2010/03/01 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
js定时器(执行一次、重复执行)
2014/03/07 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
详解JavaScript 作用域
2020/07/14 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
Python实现繁体中文与简体中文相互转换的方法示例
2018/12/18 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
Python猴子补丁知识点总结
2020/01/05 Python
python默认参数调用方法解析
2020/02/09 Python
用python绘制樱花树
2020/10/09 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
css 元素选择器的简单实例
2016/05/23 HTML / CSS
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
生物化学研究助理员求职信
2013/10/09 职场文书
中专生职业生涯规划书范文
2014/01/10 职场文书
2014预备党员党课学习心得范文
2014/07/08 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
交通事故代理词范文
2015/05/23 职场文书
爱护环境建议书
2015/09/14 职场文书
关于艺术节的开幕致辞
2016/03/04 职场文书
2019秋季运动会口号
2019/06/25 职场文书