一个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 相关文章推荐
解决GD中文乱码问题
Feb 14 PHP
php 结果集的分页实现代码
Mar 10 PHP
php 获取远程网页内容的函数
Sep 08 PHP
解析zend Framework如何自动加载类
Jun 28 PHP
PHP Session 变量的使用方法详解与实例代码
Sep 11 PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 PHP
PHP高精确度运算BC函数库实例详解
Aug 15 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
Mar 22 PHP
浅谈laravel aliases别名的原理
Oct 24 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 PHP
PHP如何使用JWT做Api接口身份认证的实现
Feb 03 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
Mar 04 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
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
2012/03/01 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
使用node.js中的Buffer类处理二进制数据的方法
2016/11/26 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
python中global与nonlocal比较
2014/11/21 Python
python实现查询IP地址所在地
2015/03/29 Python
多版本Python共存的配置方法
2017/05/22 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
python使用mysql的两种使用方式
2018/03/07 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
python实现公司年会抽奖程序
2019/01/22 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
德国网上超市:myTime.de
2019/08/26 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
销售自荐信
2013/10/22 职场文书
医学生自荐信
2013/12/03 职场文书
如何写你的创业计划书
2014/01/07 职场文书
初中生自我评价
2014/02/01 职场文书
数字化校园建设方案
2014/05/03 职场文书
给学校建议书范文
2014/05/13 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
个人典型事迹材料
2014/12/30 职场文书
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript