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 相关文章推荐
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 PHP
php-accelerator网站加速PHP缓冲的方法
Jul 30 PHP
用PHP读取和编写XML DOM的实现代码
Feb 03 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
Jan 03 PHP
php根据年月获取季度的方法
Mar 31 PHP
Yii2简单实现多语言配置的方法
Jul 23 PHP
php利用递归实现删除文件目录的方法
Sep 23 PHP
如何判断php mysqli扩展类是否开启
Dec 24 PHP
PHP反射机制原理与用法详解
Feb 15 PHP
Yii框架常见缓存应用实例小结
Sep 09 PHP
php集成开发环境详解
Sep 24 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 和 XML: 使用expat函数(一)
2006/10/09 PHP
php的大小写敏感问题整理
2011/12/29 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
jquery 学习之二 属性 文本与值(text,val)
2010/11/25 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
简单实现JavaScript图片切换效果
2016/11/28 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
JavaScript制作3D旋转相册
2020/08/02 Javascript
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
selenium+python自动化测试之环境搭建
2019/01/23 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
使用python实现微信小程序自动签到功能
2020/04/27 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
python使用bs4爬取boss直聘静态页面
2020/10/10 Python
python 基于opencv去除图片阴影
2021/01/26 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
英国团购网站:Groupon英国
2017/11/28 全球购物
大学军训感言1500字
2014/03/09 职场文书
社区党员公开承诺书
2014/08/30 职场文书
庆祝教师节主持词
2015/07/06 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server
深度学习小工程练习之垃圾分类详解
2021/04/14 Python