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缓存技术详细总结
Aug 07 PHP
php使用base64加密解密图片示例分享
Jan 20 PHP
PHP二维数组排序的3种方法和自定义函数分享
Apr 09 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
Jan 29 PHP
php定义一个参数带有默认值的函数实例分析
Mar 16 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 PHP
使用PHP如何实现高效安全的ftp服务器(二)
Dec 30 PHP
php调用自己java程序的方法详解
May 13 PHP
Laravel最佳分割路由文件(routes.php)的方式
Aug 04 PHP
PHP递归遍历指定文件夹内的文件实现方法
Nov 15 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
Jul 03 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 模拟POST提交的2种方法详解
2013/06/17 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
JQuery 学习笔记01 JQuery初接触
2010/05/06 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
js中的布尔运算符使用介绍
2013/11/20 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
jQuery的end()方法使用详解
2015/07/15 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
js操作数据库实现注册和登陆的简单实例
2016/05/26 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
JavaScript浅层克隆与深度克隆示例详解
2020/09/01 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
带你使用webpack快速构建web项目的方法
2020/11/12 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
Python的pygame安装教程详解
2020/02/10 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
keras多显卡训练方式
2020/06/10 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
软件测试题目
2013/02/27 面试题
公司人力资源管理制度
2015/08/05 职场文书
立秋之描写立秋的作文(五年级)
2019/08/08 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
python tkinter实现定时关机
2021/04/21 Python