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实现网上点歌(二)
Oct 09 PHP
smarty section简介与用法分析
Oct 03 PHP
整理的9个实用的PHP库简介和下载
Nov 09 PHP
php和js如何通过json互相传递数据相关问题探讨
Feb 26 PHP
PHP实现GIF图片验证码
Nov 04 PHP
WordPress中缩略图的使用以及相关技巧
Nov 24 PHP
php实现scws中文分词搜索的方法
Dec 25 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
Oct 09 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
php递归函数怎么用才有效
Feb 24 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
Oct 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
PHP5 字符串处理函数大全
2010/03/23 PHP
解决出现SoapFault (looks like we got no XML document)的问题
2017/06/24 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
jcarousellite.js 基于Jquery的图片无缝滚动插件
2010/12/30 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
详解vue+webpack+express中间件接口使用
2018/07/17 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
Python安装官方whl包和tar.gz包的方法(推荐)
2017/06/04 Python
python实现求最长回文子串长度
2018/01/22 Python
python opencv设置摄像头分辨率以及各个参数的方法
2018/04/02 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
python3访问字典里的值实例方法
2020/11/18 Python
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
教育系毕业生中文求职信范文
2013/10/06 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
公司门卫的岗位职责
2014/02/19 职场文书
初婚初育证明范本
2015/06/18 职场文书
python 学习GCN图卷积神经网络
2022/05/11 Python