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连mysql和oracle数据库性能比较
Oct 09 PHP
建立动态的WML站点(三)
Oct 09 PHP
PHP新手上路(七)
Oct 09 PHP
php基础知识:类与对象(1)
Dec 13 PHP
php 将bmp图片转为jpg等其他任意格式的图片
Jun 21 PHP
php中通过curl smtp发送邮件
Jun 05 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
php中的常用魔术方法总结
Aug 02 PHP
PHP连接SQLServer2005的方法
Jan 27 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 PHP
TP5框架页面跳转样式操作示例
Apr 05 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 正则学习实例
2008/07/30 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
PHP获取访问页面HTTP状态码的实现代码
2016/11/03 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题分析
2007/08/12 Javascript
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
DOM 事件流详解
2015/01/20 Javascript
Python脚本后台运行的几种方式
2015/03/09 Javascript
浅谈jquery中delegate()与live()
2015/06/22 Javascript
js window对象属性和方法相关资料整理
2015/11/11 Javascript
js+html5操作sqlite数据库的方法
2016/02/02 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
使用python实现扫描端口示例
2014/03/29 Python
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
Python实现常见的回文字符串算法
2018/11/14 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
python 子类调用父类的构造函数实例
2020/03/12 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
Python request中文乱码问题解决方案
2020/09/17 Python
Django中ORM的基本使用教程
2020/12/22 Python
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
毕业自我鉴定
2013/11/05 职场文书
迎新晚会邀请函
2014/02/01 职场文书
高一化学教学反思
2016/02/22 职场文书
浅谈@Value和@Bean的执行顺序问题
2021/06/16 Java/Android
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python