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 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
新版mysql+apache+php Linux安装指南
Oct 09 PHP
php文件上传表单摘自drupal的代码
Feb 15 PHP
深入php list()函数的详解
Jun 05 PHP
php获取字符串中各个字符出现次数的方法
Feb 23 PHP
php中使用websocket详解
Sep 23 PHP
PHP读取文件的常见几种方法
Nov 03 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
Jun 02 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP时间戳和日期相互转换操作实例小结
Dec 18 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
Apr 01 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
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
ExpressJS入门实例
2015/01/14 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
JavaScript中pop()方法的使用教程
2015/06/09 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
微信小程序三级联动选择器使用方法
2020/05/19 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
解决vue-router 切换tab标签关闭时缓存问题
2020/07/22 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
python爬虫常用的模块分析
2014/08/29 Python
Django如何配置mysql数据库
2018/05/04 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
python 实现aes256加密
2020/11/27 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
汽车专业毕业生自荐信
2013/11/03 职场文书
投标承诺书怎么写
2014/05/24 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python