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 相关文章推荐
mysql 的 like 问题,超强毕杀记!!!
Jan 18 PHP
php中的数组操作函数整理
Aug 18 PHP
基于Zookeeper的使用详解
May 02 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
Jun 17 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
PHP+jquery实时显示网站在线人数的方法
Jan 04 PHP
php+ajax登录跳转登录实现思路
Jul 31 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP的PDO预处理语句与存储过程
Jan 27 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 PHP
PHP如何通过date() 函数格式化显示时间
Nov 13 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
php的一个登录的类 [推荐]
2007/03/16 PHP
PHP set_error_handler()函数使用详解(示例)
2013/11/12 PHP
PHP上传文件时自动分配路径的方法
2015/01/09 PHP
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
2015/09/16 Javascript
js中不同的height, top的区别对比
2015/09/24 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
Python实现翻转数组功能示例
2018/01/12 Python
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
python操作redis方法总结
2018/06/06 Python
Python的互斥锁与信号量详解
2019/09/12 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
python sleep和wait对比总结
2021/02/03 Python
css3中的calc函数浅析
2018/07/10 HTML / CSS
Melissa香港官网:MDreams
2016/07/01 全球购物
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
个人廉洁自律承诺书
2014/03/27 职场文书
学雷锋月活动总结
2014/04/25 职场文书
优秀安全员事迹材料
2014/05/11 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
初中教师个人工作总结
2015/02/10 职场文书
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python