一个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 相关文章推荐
如何过滤高亮显示非法字符
Oct 09 PHP
PHP生成静态页面详解
Nov 19 PHP
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 PHP
PHP Stream_*系列函数
Aug 01 PHP
Smarty foreach控制循环次数的实现详解
Jul 03 PHP
php二维数组用键名分组相加实例函数
Nov 06 PHP
微信公众平台天气预报功能开发
Jul 06 PHP
php输入数据统一类实例
Feb 23 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
Jul 15 PHP
详解Yii2.0 rules验证规则集合
Mar 21 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 PHP
基于PHP实现生成随机水印图片
Dec 09 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/04/21 PHP
一个典型的PHP分页实例代码分享
2011/07/28 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
浅谈Express.js解析Post数据类型的正确姿势
2019/05/30 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
python difflib模块示例讲解
2017/09/13 Python
Django如何配置mysql数据库
2018/05/04 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
python中id函数运行方式
2020/07/03 Python
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
学前教育专业毕业生自荐信
2013/10/03 职场文书
师范大学毕业自我鉴定
2013/11/21 职场文书
保洁员岗位职责
2015/02/04 职场文书
鉴史问廉观后感
2015/06/10 职场文书
父母教会我观后感
2015/06/17 职场文书
提档介绍信范文
2015/10/22 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
js实现自动锁屏功能
2021/06/02 Javascript