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中Date获取时间不正确怎么办
Jun 05 PHP
php下批量挂马和批量清马代码
Feb 27 PHP
PHP中的函数-- foreach()的用法详解
Jun 24 PHP
php计算数组不为空元素个数的方法
Jan 27 PHP
php中解析带中文字符的url函数分享
Jan 20 PHP
symfony表单与页面实现技巧
Jan 26 PHP
php身份证号码检查类实例
Jun 18 PHP
PHP小偷程序的设计与实现方法详解
Oct 15 PHP
PHP内存缓存功能memcached示例
Oct 19 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
Nov 25 PHP
php实现 master-worker 守护多进程模式的实例代码
Jul 20 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
ajax实现无刷新分页(php)
2010/07/18 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
prototype1.4中文手册
2006/09/22 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
jQuery的ready方法详解
2014/11/27 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
嵌入式iframe子页面与父页面js通信的方法
2015/01/20 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
Django中url的反向查询的方法
2018/03/14 Python
pandas string转dataframe的方法
2018/04/11 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
室内设计专业个人的自我评价
2013/10/19 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
读《教育心理学》心得体会
2016/01/22 职场文书
2019各种保证书范文
2019/06/24 职场文书
图文详解Nginx版本平滑升级方案
2021/09/15 Servers
MySQL生成千万测试数据以及遇到的问题
2022/08/05 MySQL