一个PHP日历程序


Posted in PHP onDecember 06, 2006

<?php 
//<-------处理通过GET方法提交的变量;开始--------> 
if($HTTP_GET_VARS[year]=="") 

    $HTTP_GET_VARS[year]=date("Y"); 

if($HTTP_GET_VARS[month]=="") 

    $HTTP_GET_VARS[month]=date("n"); 

$month=$HTTP_GET_VARS[month]; 
$year=$HTTP_GET_VARS[year]; 
//<-------处理通过GET方法提交的变量;结束--------> 
if($year<1971) 

    echo "出错!"; 
    echo "<BR>"; 
    echo "<a href=$HTTP_SERVER_VARS[PHP_SELF]>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=$HTTP_SERVER_VARS[PHP_SELF]?year=".($year-1)."&month=".$month."><<</a>年<a href=$HTTP_SERVER_VARS[PHP_SELF]?year=".($year+1)."&month=".$month.">>></a>"; 
?> 
</td><td colspan="3"><?php echo $year."年".$month."月";?> 
</td><td colspan="2"> 
<?php  
echo "<a href=$HTTP_SERVER_VARS[PHP_SELF]?month=".($month-1)."&year=".$year."><<</a>月<a href=$HTTP_SERVER_VARS[PHP_SELF]?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面向对象全攻略 (十四) php5接口技术
Sep 30 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
解析php中static,const与define的使用区别
Jun 18 PHP
ThinkPHP3.1新特性之内容解析输出详解
Jun 19 PHP
Codeigniter实现发送带附件的邮件
Mar 19 PHP
浅谈PDO的rowCount函数
Jun 18 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
Mar 17 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
Jun 06 PHP
PHP线程的内存回收问题
Jul 08 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
Apr 26 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 PHP
php基于协程实现异步的方法分析
Jul 17 PHP
模板引擎Smarty深入浅出介绍
Dec 06 #PHP
PHP文件下载类
Dec 06 #PHP
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 #PHP
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 #PHP
PHP分页显示制作详细讲解
Dec 05 #PHP
PHP生成静态页面详解
Dec 05 #PHP
详解:――如何将图片储存在数据库里
Dec 05 #PHP
You might like
后宫无数却洁身自好的男主,唐三只爱小舞
2020/03/02 国漫
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
JavaScript 基于原型的对象(创建、调用)
2009/10/16 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
Javascript window对象详解
2014/11/12 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
2017/11/07 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
nodejs读取图片返回给浏览器显示
2019/07/25 NodeJs
js实现翻牌小游戏
2020/07/31 Javascript
React实现全选功能
2020/08/25 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
python登录QQ邮箱发信的实现代码
2013/02/10 Python
wxPython事件驱动实例详解
2014/09/28 Python
python创建和删除目录的方法
2015/04/29 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
django创建超级用户过程解析
2019/09/18 Python
python 读取.nii格式图像实例
2020/07/01 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
关于迟到的检讨书
2014/01/26 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
民事授权委托书范文
2014/08/02 职场文书
民政局离婚协议书范本
2014/10/20 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL