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
开源SNS系统-ThinkSNS
May 18 PHP
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
PHP 工厂模式使用方法
May 18 PHP
新手学习PHP的一些基础知识分享
Jul 27 PHP
PHP高自定义性安全验证码代码
Nov 27 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
Dec 18 PHP
php仿微信红包分配算法的实现方法
May 13 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
Oct 31 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 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+JS实现搜索自动提示(实例)
2013/06/09 PHP
PHP屏蔽关键字实现方法
2016/11/17 PHP
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
Extjs中常用表单介绍与应用
2010/06/07 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
wxPython中文教程入门实例
2014/06/09 Python
python中ConfigParse模块的用法
2014/09/29 Python
Python命令启动Web服务器实例详解
2017/02/23 Python
Python使用微信SDK实现的微信支付功能示例
2017/06/30 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
thinkphp5 路由分发原理
2021/03/18 PHP
css3隔行变换色实现示例
2014/02/19 HTML / CSS
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
印度领先的在线时尚商店:Koovs
2016/08/28 全球购物
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
Lacoste(法国鳄鱼)加拿大官网:以标志性的POLO衫而闻名
2019/05/15 全球购物
大学生找工作推荐信范文
2013/11/28 职场文书
小学生考试获奖感言
2014/01/30 职场文书
计算机专业毕业生求职信
2014/04/30 职场文书
公司晚会策划方案
2014/05/17 职场文书
法学求职信
2014/06/22 职场文书
银行实习推荐信
2015/03/27 职场文书
离婚被告代理词
2015/05/23 职场文书
功夫熊猫观后感
2015/06/10 职场文书
聊聊Python String型列表求最值的问题
2022/01/18 Python
Golang 链表的学习和使用
2022/04/19 Golang
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers