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 相关文章推荐
PHP程序员编程注意事项
Apr 10 PHP
PHP中foreach循环中使用引用要注意的地方
Jan 02 PHP
php中全局变量global的使用演示代码
May 18 PHP
php页面跳转代码 输入网址跳转到你定义的页面
Mar 28 PHP
CURL的学习和应用(附多线程实现)
Jun 03 PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 PHP
PHP使用json_encode函数时不转义中文的解决方法
Nov 12 PHP
PHP数组去重比较快的实现方式
Jan 19 PHP
PHP 二维数组和三维数组的过滤
Mar 16 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
php处理多图上传压缩代码功能
Jun 13 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检测iis环境是否支持htaccess的方法
2014/02/18 PHP
Yii学习总结之安装配置
2015/02/22 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
PHP利用Socket获取网站的SSL证书与公钥
2017/06/18 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
原生JS无缝滑动轮播图
2019/10/22 Javascript
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
python实现数独算法实例
2015/06/09 Python
Django与遗留的数据库整合的方法指南
2015/07/24 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
python对日志进行处理的实例代码
2018/10/06 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Django 构建模板form表单的两种方法
2020/06/14 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
中东地区最大的奢侈品市场:The Luxury Closet
2019/04/09 全球购物
波兰购物网站:MALL.PL
2019/05/01 全球购物
大学本科生的个人自我评价
2013/12/09 职场文书
可贵的沉默教学反思
2014/02/06 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
健康家庭事迹材料
2014/05/02 职场文书
大学生个人求职信例文
2014/07/07 职场文书
中秋节寄语2015
2015/03/24 职场文书
2016年元旦寄语
2015/08/17 职场文书
初一数学教学反思
2016/02/17 职场文书