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语法(3)
Oct 09 PHP
php自定义函数之递归删除文件及目录
Aug 08 PHP
php下批量挂马和批量清马代码
Feb 27 PHP
PHP daddslashes 使用方法介绍
Oct 26 PHP
php class类的用法详细总结
Oct 17 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
Jun 12 PHP
php函数实现判断是否移动端访问
Mar 03 PHP
php实现专业获取网站SEO信息类实例
Apr 02 PHP
利用PHP将图片转换成base64编码的实现方法
Sep 13 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
Feb 15 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写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
Javascript实现计算个人所得税
2015/05/10 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
2016/04/14 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
2017/12/07 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
vue elementUI使用tabs与导航栏联动
2019/06/21 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
python复制与引用用法分析
2015/04/08 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
Python+Pandas 获取数据库并加入DataFrame的实例
2018/07/25 Python
Python Pillow Image Invert
2019/01/22 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
百思买加拿大:Best Buy Canada
2018/03/20 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
澳大利亚第一旅行车和房车配件店:Caravan RV Camping
2020/12/26 全球购物
美国健康和保健平台:healtop
2020/07/02 全球购物
绝对经典成功的大学生推荐信
2013/11/08 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
情人节单身感言
2015/08/03 职场文书
安全教育日主题班会
2015/08/13 职场文书
pandas进行数据输入和输出的方法详解
2022/03/23 Python