一个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 上传文件类型判断函数(避免上传漏洞 )
Jun 08 PHP
深入理解PHP原理之异常机制
Aug 21 PHP
PHP中图片等比缩放的实例
Mar 24 PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 PHP
CI框架中cookie的操作方法分析
Dec 12 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
PHP远程调试之XDEBUG
Dec 29 PHP
PHP session会话操作技巧小结
Sep 27 PHP
php实现websocket实时消息推送
Mar 30 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 PHP
PHP实现批量修改文件名的方法示例
Sep 18 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
php将数据库中所有内容生成静态html文档的代码
2010/04/12 PHP
一个PHP缓存类代码(附详细说明)
2011/06/09 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
php读取文件内容的方法汇总
2015/01/24 PHP
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
javascript 动态设置已知select的option的value值的代码
2009/12/16 Javascript
JavaScript 语言的递归编程
2010/05/18 Javascript
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
jQuery中even选择器的定义和用法
2014/12/23 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
Django中的文件的上传的几种方式
2018/07/23 Python
pycharm 实现显示project 选项卡的方法
2019/01/17 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
python中对数据进行各种排序的方法
2019/07/02 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
Django RBAC权限管理设计过程详解
2019/08/06 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
navabi英国:设计师大码女装
2019/06/25 全球购物
节能环保标语
2014/06/12 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
卫生保健工作总结2015
2015/05/18 职场文书