PHP自动生成月历代码


Posted in PHP onOctober 09, 2006

<?php
/* 
Function Written by Nelson Neoh @3/2004. 
For those who wants to utilize this code, please do not remove this remark. 
If you have done any enhancement to this code, please post the copy at http://www.dev-club.com PHP board.  Thank you.

Function usage: calendar(Month,Year)
*/

function calendar($MM,$YYYY){
    if($MM=="") $MM = date("m");
    if($YYYY=="") $YYYY = date("Y");
    if(checkdate($MM,1,$YYYY)){
        $stringDate = strftime("%d %b %Y",mktime (0,0,0,$MM,1,$YYYY));
        $days = strftime("%d",mktime (0,0,0,$MM+1,0,$YYYY));
        $firstDay = strftime("%w",mktime (0,0,0,$MM,1,$YYYY));
        $lastDay = strftime("%w",mktime (0,0,0,$MM,$days,$YYYY));
        $printDays = $days;
        $preMonth = strftime("%m",mktime (0,0,0,$MM-1,1,$YYYY));
        $preYear = strftime("%Y",mktime (0,0,0,$MM-1,1,$YYYY));
        $nextMonth = strftime("%m",mktime (0,0,0,$MM+1,1,$YYYY));
        $nextYear = strftime("%Y",mktime (0,0,0,$MM+1,1,$YYYY));
        print("<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\">");
        print("<tr><th valign=\"top\"><a href=\"".$_SERVER['PHP_SELF']."?NB=".$_GET["NB"]."&MM=".$preMonth."&YY=".$preYear."\">P</a></th>");
        print("<th colspan=\"5\" valign=\"top\">".strftime("%b %Y",mktime (0,0,0,$MM,1,$YYYY))."</th>");
        print("<th valign=\"top\"><a href=\"".$_SERVER['PHP_SELF']."?NB=".$_GET["NB"]."&MM=".$nextMonth."&YY=".$nextYear."\">N</a></th></tr>");
        print("<tr style=\"font-family: Verdana; font-size:x-small\">");
        print("<th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr>");

        $currentDays = 1;
        for($a=1;$a<=5;$a++){
            print("<tr align=\"left\" valign=\"top\" style=\"font-family: Verdana; font-size:x-small\">");
            $diffDays = $firstDay-$lastDay;
            if($firstDay>$lastDay && $currentDays ==1 && ($diffDays<>1)){
                for($x=$lastDay;$x>=0;$x--){
                    $printDays = $days-$x;
                    print("<td>$printDays</td>");
                }
                for($z=1;$z<$firstDay-$lastDay;$z++){
                    print("<td> </td>");
                }
                for($y=$firstDay;$y<7;$y++){
                    print("<td>$currentDays</td>");
                    $currentDays++;
                }
            } elseif($firstDay!=0 && $currentDays==1){
                for($z=1;$z<=$firstDay;$z++){
                    print("<td> </td>");
                }
                for($y=$firstDay;$y<7;$y++){
                    print("<td>$currentDays</td>");
                    $currentDays++;
                }
            } else {
                for($u=1;$u<=7 && $currentDays<=$days;$u++){
                    print("<td>$currentDays</td>");
                    $currentDays++;
                }
            }
            print("</tr>");
        }
        print("</table>");
    }
}
?>

 

PHP 相关文章推荐
php md5下16位和32位的实现代码
Apr 09 PHP
PHP中extract()函数的定义和用法
Aug 17 PHP
ThinkPHP中自定义错误页面和提示页面实例
Nov 22 PHP
PIGCMS 如何关闭聊天机器人
Feb 12 PHP
php实现通过cookie换肤的方法
Jul 13 PHP
ThinkPHP进程计数类Process用法实例详解
Sep 25 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
PHP6新特性分析
Mar 03 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
Feb 24 PHP
php实现文章评论系统
Feb 18 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
十天学会php(3)
Oct 09 #PHP
十天学会php(1)
Oct 09 #PHP
十天学会php(2)
Oct 09 #PHP
论坛头像随机变换代码
Oct 09 #PHP
PHP中路径问题的解决方案
Oct 09 #PHP
新浪新闻小偷
Oct 09 #PHP
如何使用PHP获取网络上文件
Oct 09 #PHP
You might like
动态生成gif格式的图像要注意?
2006/10/09 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
PHP开发实现微信退款功能示例
2017/11/25 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
js数组的操作详解
2013/03/27 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
javascript Event对象详解及使用示例
2013/11/22 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
2015/01/13 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
python 循环数据赋值实例
2019/12/02 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
浅析Python 责任链设计模式
2020/09/11 Python
Python基于template实现字符串替换
2020/11/27 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
企业为何需要商业计划书
2013/12/26 职场文书
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
幼儿园校车司机的岗位职责
2014/01/30 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
毕业论文致谢格式模板
2015/05/14 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
如何利用python实现列表嵌套字典取值
2022/06/10 Python