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的ASP防火墙
Oct 09 PHP
PHP 上传文件的方法(类)
Jul 30 PHP
PHP下操作Linux消息队列完成进程间通信的方法
Jul 24 PHP
php采集时被封ip的解决方法
Aug 29 PHP
初学PHP的朋友 经常问的一些问题。不断更新
Aug 11 PHP
php计算程序运行时间的简单例子分享
May 10 PHP
php通过前序遍历树实现无需递归的无限极分类
Jul 10 PHP
php自定义函数实现汉字转换utf8编码的方法
Sep 29 PHP
php is_writable判断文件是否可写实例代码
Oct 13 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 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的FTP学习(二)[转自奥索]
2006/10/09 PHP
PHP延迟静态绑定示例分享
2014/06/22 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
JS Timing
2007/04/21 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
jquery为页面增加快捷键示例
2014/01/31 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
js实现简单扫雷
2020/11/27 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
Python 开发Activex组件方法
2009/11/08 Python
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
在django模板中实现超链接配置
2019/08/21 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
介绍一下Python下range()函数的用法
2013/11/07 面试题
土木工程实习生自我鉴定
2013/09/19 职场文书
电子商务个人自荐信
2013/12/12 职场文书
先进个人事迹材料
2014/01/25 职场文书
2015年教务工作总结
2015/05/23 职场文书
卡特教练观后感
2015/06/08 职场文书
小时代观后感
2015/06/10 职场文书
军训通讯稿范文
2015/07/18 职场文书