PHP生成月历代码


Posted in PHP onJune 14, 2007

<?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 相关文章推荐
模仿OSO的论坛(二)
Oct 09 PHP
两个开源的Php输出Excel文件类
Feb 08 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
Apr 22 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
Apr 10 PHP
修改destoon会员公司的伪静态中的com目录的方法
Aug 21 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
Dec 29 PHP
PHP基于单例模式实现的mysql类
Jan 09 PHP
PHP发送AT指令实例代码
May 26 PHP
yii gridview实现时间段筛选功能
Aug 15 PHP
PHP数字金额转换成中文大写显示
Jan 05 PHP
PHP微信网页授权的配置文件操作分析
May 29 PHP
用PHP实现图象锐化代码
Jun 14 #PHP
PHP静态新闻列表自动生成代码
Jun 14 #PHP
discuz安全提问算法
Jun 06 #PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
Jun 06 #PHP
phpMyAdmin下载、安装和使用入门教程
May 31 #PHP
测试您的 PHP 水平的题目
May 30 #PHP
Discuz板块横排显示图片的实现方法
May 28 #PHP
You might like
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
几个php应用技巧
2008/03/27 PHP
PHP 验证码的实现代码
2011/07/17 PHP
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
PHP 7.1新特性的汇总介绍
2016/12/16 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
2015/08/11 Javascript
jQuery获取DOM节点实例分析(2种方式)
2015/12/15 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
2016/01/27 Javascript
谈一谈bootstrap响应式布局
2016/05/23 Javascript
浅谈js中的in-for循环
2016/06/28 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
2019/08/01 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
vue使用exif获取图片经纬度的示例代码
2020/12/11 Vue.js
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
Python将多份excel表格整理成一份表格
2018/01/03 Python
Python应用库大全总结
2018/05/30 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
dpn网络的pytorch实现方式
2020/01/14 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
用HTML5制作烟火效果的教程
2015/05/12 HTML / CSS
献爱心活动总结
2014/05/07 职场文书
群众对十八届四中全会的期盼
2014/10/17 职场文书
营销经理工作检讨书
2014/11/03 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书