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 相关文章推荐
中英文字符串翻转函数
Dec 09 PHP
了解Joomla 这款来自国外的php网站管理系统
Mar 11 PHP
PHP5中新增stdClass 内部保留类
Jun 13 PHP
php利用腾讯ip分享计划获取地理位置示例分享
Jan 20 PHP
php中的静态变量的基本用法
Mar 20 PHP
PHP错误处理函数
Apr 03 PHP
实现PHP搜索加分页
Oct 12 PHP
利用switch语句进行多选一判断的实例代码
Nov 14 PHP
PHP内置加密函数详解
Nov 20 PHP
PHP实现的简单AES加密解密算法实例
May 29 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
Oct 23 PHP
PHP如何使用cURL实现Get和Post请求
Jul 11 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中常用的输出函数总结
2014/09/22 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
PHP批量修改文件名称的方法分析
2017/02/27 PHP
JavaScript静态的动态
2006/09/18 Javascript
javascript实用小函数使用介绍
2013/11/11 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
js a标签点击事件
2017/03/30 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
原生js实现自定义滚动条
2021/01/20 Javascript
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
Django数据库表反向生成实例解析
2018/02/06 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
python实现LRU热点缓存及原理
2019/10/29 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
html5读取本地文件示例代码
2014/04/22 HTML / CSS
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
办公室驾驶员岗位职责
2013/11/15 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript