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 相关文章推荐
在PHP中使用XML
Oct 09 PHP
php GeoIP的使用教程
Mar 09 PHP
php下载excel无法打开的解决方法
Dec 24 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
Apr 23 PHP
php smarty truncate UTF8乱码问题解决办法
Jun 13 PHP
ioncube_loader_win_5.2.dll的错误解决方法
Jan 04 PHP
php实现的网络相册图片防盗链完美破解方法
Jul 01 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
php mysql数据库操作类(实例讲解)
Aug 06 PHP
php实现的mongoDB单例模式操作类
Jan 20 PHP
PHP封装的page分页类定义与用法完整示例
Dec 24 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
apache rewrite_module模块使用教程
2008/01/10 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
2015/12/19 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
js判断是否是手机页面
2017/03/17 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
python模块之paramiko实例代码
2018/01/31 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
python Django的web开发实例(入门)
2019/07/31 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
中专生的个人自我评价
2013/12/11 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB