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 相关文章推荐
拼音码表的生成
Oct 09 PHP
PHP 读取和修改大文件的某行内容的代码
Oct 30 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
php多文件上传实现代码
Feb 20 PHP
php发送post请求函数分享
Mar 06 PHP
PHP之sprintf函数用法详解
Nov 12 PHP
PHP连接MySQL数据的操作要点
Mar 20 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
Jan 15 PHP
PHP如何实现跨域
May 30 PHP
PHP删除数组中特定元素的两种方法
Feb 28 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 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详细彻底学习Smarty
2008/03/27 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
CodeIgniter针对数据库的连接、配置及使用方法
2016/03/03 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
js/jQuery简单实现选项卡功能
2014/01/02 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
图片上传之FileAPI与NodeJs
2017/01/24 NodeJs
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
Vue中Axios从远程/后台读取数据
2019/01/21 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
javascript设计模式 ? 解释器模式原理与用法实例分析
2020/04/17 Javascript
使用Python获取Linux系统的各种信息
2014/07/10 Python
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
深入解析Python编程中JSON模块的使用
2015/10/15 Python
Python实现将照片变成卡通图片的方法【基于opencv】
2018/01/17 Python
Python中单例模式总结
2018/02/20 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
Pandas时间序列基础详解(转换,索引,切片)
2020/02/26 Python
基于python实现上传文件到OSS代码实例
2020/05/09 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
30年同学聚会邀请函
2014/01/25 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
高中学生评语大全
2014/04/25 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
争先创优演讲稿
2014/09/15 职场文书
道德模范事迹材料
2014/12/20 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python