php简单日历函数


Posted in PHP onOctober 28, 2015

本文实例讲述了php实现的日历程序。分享给大家供大家参考。具体如下:

<?php 
/* 
* php 输出日历程序 
*/ 
header("Content-type: text/html;charset=utf-8"); 
$year=(!isset($_GET['year'])||$_GET['year']=="")?date("Y"):$_GET['year']; 
$month=(!isset($_GET['month'])||$_GET['month']=="")?date("n"):$_GET['month']; 
$curUrl=$_SERVER['PHP_SELF']; 
 
if($year<1971){ 
  echo "出错!"; 
  echo "<BR>"; 
  echo "<a href=",$curUrl,">Back</a>"; 
  exit(); 
} 
?> 
<table width="200" border="1" cellspacing="0" cellpadding="0" bordercolor="#E7E7E7" style="font-size:12px;" align="center"> 
<tr align="center"><td colspan="2"> 
<?php 
//<-------当月份超出1至12时的处理;开始-------> 
if($month<1){ 
  $month=12; 
  $year-=1; 
} 
if($month>12){ 
  $month=1; 
  $year+=1; 
} 
//<-------当月份超出1至12时的处理;结束-------> 
//<---------上一年,下一年,上月,下月的连接处理及输出;开始---------> 
echo "<a href=",$curUrl,"?year=".($year-1)."&month=".$month."><<</a>年<a href=",$curUrl,"?year=".($year+1)."&month=".$month.">>></a>"; 
?> 
</td><td colspan="3"><?php echo $year."年".$month."月";?> 
</td><td colspan="2"> 
<?php 
echo "<a href=",$curUrl,"?month=".($month-1)."&year=".$year."><<</a>月<a href=",$curUrl,"?month=".($month+1)."&year=".$year.">>></a>"; 
//<--------上一年,下一年,上月,下月的连接处理及输出;结束---------> 
?></td></tr> 
<tr align=center><td><font color="red">日</font></td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr><tr> 
<?php 
$d=date("d"); 
$FirstDay=date("w",mktime(0,0,0,$month,1,$year));//取得任何一个月的一号是星期几,用于计算一号是由表格的第几格开始 
$bgtoday=date("d"); 
function font_color($month,$today,$year){//用于计算星期天的字体颜色 
  $sunday=date("w",mktime(0,0,0,$month,$today,$year)); 
  if($sunday=="0"){ 
    $FontColor="red"; 
  }else{ 
    $FontColor="black"; 
  } 
  return $FontColor; 
} 
function bgcolor($month,$bgtoday,$today_i,$year){//用于计算当日的背景颜色 
  $show_today=date("d",mktime(0,0,0,$month,$today_i,$year)); 
  $sys_today=date("d",mktime(0,0,0,$month,$bgtoday,$year)); 
  if($show_today==$sys_today){ 
  $bgcolor="bgcolor=#6699FF"; 
  }else{ 
  $bgcolor=""; 
  } 
  return $bgcolor; 
} 
function font_style($month,$today,$year){//用于计算星期天的字体风格 
  $sunday=date("w",mktime(0,0,0,$month,$today,$year)); 
  if($sunday=="0"){ 
    $FontStyle="<strong>"; 
  }else{ 
    $FontStyle=""; 
  } 
  return $FontStyle; 
} 
for($i=0;$i<=$FirstDay;$i++){//此for用于输出某个月的一号位置 
  for($i;$i<$FirstDay;$i++){ 
    echo "<td align=center> </td>\n"; 
  } 
  if($i==$FirstDay){ 
    echo "<td align=center ".bgcolor($month,$bgtoday,1,$year)."><font color=".font_color($month,1,$year).">".font_style($month,1,$year)."1</font></td>\n"; 
    if($FirstDay==6){//判断1号是否星期六 
      echo "</tr>"; 
    } 
  } 
} 
$countMonth=date("t",mktime(0,0,0,$month,1,$year));//某月的总天数 
for($i=2;$i<=$countMonth;$i++){//输出由1号定位,随后2号直至月尾的所有号数 
  echo "<td align=center ".bgcolor($month,$bgtoday,$i,$year)."><font color=".font_color($month,$i,$year).">".font_style($month,$i,$year)."$i</font></td>\n"; 
  if(date("w",mktime(0,0,0,$month,$i,$year))==6){//判断该日是否星期六 
    echo "</tr>\n"; 
  } 
} 
?> 
</table>

 php输出的日历效果如下图:

php简单日历函数

希望本文对大家学习php程序设计有所帮助。

PHP 相关文章推荐
基于数据库的在线人数,日访问量等统计
Oct 09 PHP
mysql5的sql文件导入到mysql4的方法
Oct 19 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
Oct 15 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
php 使用post,get的一种简洁方式
Apr 25 PHP
apache+php+mysql安装配置方法小结
Aug 01 PHP
php入门学习知识点一 PHP与MYSql连接与查询
Jul 14 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
php中使用url传递数组的方法
Feb 11 PHP
PHP的APC模块实现上传进度条
Oct 27 PHP
解析 thinkphp 框架中的部分方法
May 07 PHP
thinkphp5使html5实现动态跳转的例子
Oct 16 PHP
php将数组存储为文本文件方法汇总
Oct 28 #PHP
php如何获取文件的扩展名
Oct 28 #PHP
php检查页面是否被百度收录
Oct 28 #PHP
PHP加密解密函数详解
Oct 28 #PHP
php实现阳历阴历互转的方法
Oct 28 #PHP
PHP框架Laravel学习心得体会
Oct 28 #PHP
php抓取并保存网站图片的实现代码
Oct 28 #PHP
You might like
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
PHP类和对象相关系统函数与运算符小结
2016/09/28 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
php多进程应用场景实例详解
2019/07/22 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
代码详解javascript模块加载器
2018/03/04 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
使用Python的PEAK来适配协议的教程
2015/04/14 Python
python基于socket实现网络广播的方法
2015/04/29 Python
python黑魔法之编码转换
2016/01/25 Python
Python实现购物车程序
2018/04/16 Python
python lxml中etree的简单应用
2019/05/10 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
python中常用的数据结构介绍
2021/01/12 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
小学生节水倡议书
2015/04/29 职场文书
2015年预算员工作总结
2015/05/14 职场文书
话题作文之呼唤
2019/12/18 职场文书
golang slice元素去重操作
2021/04/30 Golang
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python