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 相关文章推荐
phpmyadmin操作流程
Oct 09 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
Aug 01 PHP
使ecshop模板中可引用常量的实现方法
Jun 02 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
解析PHP中empty is_null和isset的测试
Jun 29 PHP
PHP自动识别字符集并完成转码详解
Aug 02 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
Aug 06 PHP
php递归删除指定文件夹的方法小结
Apr 20 PHP
php curl 获取https请求的2种方法
Apr 27 PHP
PHP浮点数精度问题汇总
May 13 PHP
PHP利用imagick生成组合缩略图
Feb 19 PHP
laravel返回统一格式错误码问题
Nov 04 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 substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
php表单敏感字符过滤类
2014/12/08 PHP
php取得字符串首字母的方法
2015/03/25 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
2019/10/17 PHP
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
Jquery实现自定义窗口随意的拖拽
2014/03/12 Javascript
Firefox中使用outerHTML的2种解决方法
2014/06/07 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
2020/10/29 Javascript
[02:21]十步杀一人,千里不留行——DOTA2全新英雄天涯墨客展示
2018/08/29 DOTA
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
python爬取网站数据保存使用的方法
2013/11/20 Python
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
python简单文本处理的方法
2015/07/10 Python
微信跳一跳python辅助脚本(总结)
2018/01/11 Python
对Python3 序列解包详解
2019/02/16 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
python变量命名的7条建议
2019/07/04 Python
python Django编写接口并用Jmeter测试的方法
2019/07/31 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
《雨点》教学反思
2014/02/12 职场文书
小学生思想品德评语
2014/12/31 职场文书