一个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动态变静态原理
Nov 25 PHP
再次研究下cache_lite
Feb 14 PHP
5种PHP创建数组的实例代码分享
Jan 17 PHP
yii上传文件或图片实例
Apr 01 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
Dec 18 PHP
php实现的一个简单json rpc框架实例
Mar 30 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
Nov 05 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
使用phpQuery获取数组的实例
Mar 13 PHP
PHP Class SoapClient not found解决方法
Jan 20 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 PHP
详解php中生成标准uuid(guid)的方法
Apr 28 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
php去除字符串中空字符的常用方法小结
2015/03/17 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
JS简单实现文件上传实例代码(无需插件)
2013/11/15 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
js模块加载方式浅析
2017/08/12 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
[47:45]Liquid vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
pycharm 使用心得(三)Hello world!
2014/06/05 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
Python正则表达式和元字符详解
2018/11/29 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
python 画函数曲线示例
2019/12/04 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
美国最大的宠物药店:1-800-PetMeds
2016/10/02 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
英语自荐信常用语句
2013/12/13 职场文书
幼儿园安全责任书
2014/04/14 职场文书
关于保护环境的标语
2014/06/09 职场文书
交警失职检讨书
2015/01/26 职场文书
迟到检讨书
2015/01/26 职场文书
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android