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的库,结果发现很多东西
Dec 31 PHP
PHP生成不同颜色、不同大小的tag标签函数
Sep 23 PHP
php define的第二个参数使用方法
Nov 04 PHP
php中require和require_once的区别说明
Feb 27 PHP
PHP二维数组排序的3种方法和自定义函数分享
Apr 09 PHP
PHP获取当前页面URL函数实例
Oct 22 PHP
解决nginx不支持thinkphp中pathinfo的问题
Jul 21 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
php原生导出excel文件的两种方法(推荐)
Nov 19 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
Mar 02 PHP
PHP实现验证码校验功能
Nov 16 PHP
PHP判断函数是否被定义的方法
Jun 21 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
星际原理概述
2020/03/04 星际争霸
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
php中http_build_query 的一个问题
2012/03/25 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
2014/04/25 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
php中序列化与反序列化详解
2017/02/13 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
关于jquery layui弹出层的使用方法
2018/04/21 jQuery
Vue自定义指令封装节流函数的方法示例
2018/07/09 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
js实现扫雷源代码
2020/11/27 Javascript
Python使用正则表达式获取网页中所需要的信息
2018/01/29 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
详解Pandas 处理缺失值指令大全
2020/07/30 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
Zalando Lounge瑞士:时尚与生活方式购物俱乐部
2020/03/12 全球购物
培训专员岗位职责
2014/02/26 职场文书
国窖1573广告词
2014/03/21 职场文书
预备党员公开承诺书
2014/05/28 职场文书
初中国旗下的演讲稿
2014/08/28 职场文书
论群众路线学习笔记
2014/11/06 职场文书
工程质检员岗位职责
2015/04/08 职场文书
个人维稳承诺书
2015/05/04 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
IDEA使用SpringAssistant插件创建SpringCloud项目
2021/06/23 Java/Android