一个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编程最快明白》第六讲:Mysql数据库操作
Nov 01 PHP
深入PHP FTP类的详解
Jun 13 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
Apr 24 PHP
php利用curl抓取新浪微博内容示例
Apr 27 PHP
PHP中echo和print的区别
Aug 28 PHP
smarty模板引擎之分配数据类型
Mar 30 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
php的debug相关函数用法示例
Jul 11 PHP
详谈php中 strtr 和 str_replace 的效率问题
May 14 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 PHP
Thinkphp5.0 框架Model模型简单用法分析
Oct 11 PHP
Memcached介绍及php-memcache扩展安装
Apr 01 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
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
2018/08/19 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
thinkPHP5框架接口写法简单示例
2019/08/05 PHP
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
js 自定义的联动下拉框
2010/02/07 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
Angular之指令Directive用法详解
2017/03/01 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
vue实现简单的MVVM框架
2018/08/05 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
2019/09/06 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
使用Python将数组的元素导出到变量中(unpacking)
2016/10/27 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
学python爬虫能做什么
2020/07/29 Python
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
慰问信的写作格式及范文!
2019/06/24 职场文书
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS
【2·13】一图读懂中国无线电发展
2022/02/18 无线电
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记
Java 超详细讲解ThreadLocal类的使用
2022/04/07 Java/Android
分享python函数常见关键字
2022/04/26 Python