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语法(3)
Oct 09 PHP
PHP 单引号与双引号的区别
Nov 24 PHP
php中创建和调用webservice接口示例
Jul 25 PHP
使用PHP进行微信公众平台开发的示例
Aug 21 PHP
PHP中调用C/C++制作的动态链接库的教程
Mar 10 PHP
详解WordPress中添加友情链接的方法
May 21 PHP
微信支付开发订单查询实例
Jul 12 PHP
PHP用FTP类上传文件视频等的简单实现方法
Sep 23 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 PHP
PHP实现对数组分页处理实例详解
Feb 07 PHP
php正则表达式基本知识与应用详解【经典教程】
Apr 17 PHP
PHP中常见的密码处理方式和建议总结
Oct 14 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实例
2013/12/24 PHP
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
extJs 下拉框联动实现代码
2010/04/09 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
jquery 取子节点及当前节点属性值的方法
2014/08/24 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
微信小程序 MD5加密登录密码详解及实例代码
2017/01/12 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
微信小程序视图template模板引用的实例详解
2017/09/20 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
Python标准库之循环器(itertools)介绍
2014/11/25 Python
python中for语句简单遍历数据的方法
2015/05/07 Python
Python计算三角函数之asin()方法的使用
2015/05/15 Python
python字典键值对的添加和遍历方法
2016/09/11 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
Python字符串格式化输出代码实例
2019/11/22 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
工程师求职简历的自我评价分享
2013/10/10 职场文书
项目合作协议书范本
2014/04/16 职场文书
产品发布会策划方案
2014/05/12 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
转学证明范本
2015/06/19 职场文书
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers