一个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:风雨欲来 路在何方?
Oct 09 PHP
php 学习资料零碎东西
Dec 04 PHP
PHPwind整合最土系统用户同步登录实现方法
Dec 08 PHP
优化PHP程序的方法小结
Feb 23 PHP
解析左右值无限分类的实现算法
Jun 20 PHP
Zend Studio 实用快捷键一览表(精心整理)
Aug 10 PHP
PHP函数getenv简介和使用实例
May 12 PHP
PHP基于工厂模式实现的计算器实例
Jul 16 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
PHP简单获取随机数的常用方法小结
Jun 07 PHP
Yii2框架加载css和js文件的方法分析
May 25 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
Apr 13 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使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
2011/06/28 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
JS+css 图片自动缩放自适应大小
2013/08/08 Javascript
jQuery实现瀑布流的取巧做法分享
2015/01/12 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
使用Vue写一个datepicker的示例
2018/01/27 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
webpack的tree shaking的实现方法
2019/09/18 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
python在地图上画比例的实例详解
2020/11/13 Python
电脑饰品店的创业计划书
2014/01/21 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
岳麓书院导游词
2015/02/03 职场文书
水电工程师岗位职责
2015/02/13 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
入党积极分子考察意见
2015/06/02 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
心得体会格式及范文
2016/01/25 职场文书
动视暴雪取消疫苗禁令 让所有员工返回线下工作
2022/04/03 其他游戏
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android