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 相关文章推荐
一个简单的MySQL数据浏览器
Oct 09 PHP
ajax php 实现写入数据库
Sep 02 PHP
初学CAKEPHP 基础教程
Nov 02 PHP
php和js如何通过json互相传递数据相关问题探讨
Feb 26 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
小谈php正则提取图片地址
Mar 27 PHP
Symfony生成二维码的方法
Feb 04 PHP
php自定义函数实现JS的escape的方法示例
Jul 07 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
Apr 10 PHP
PHP实现倒计时功能
Nov 16 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
生成缩略图
2006/10/09 PHP
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
PHP 登录记住密码实现思路
2013/05/07 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
点击广告后才能获得下载地址
2006/10/26 Javascript
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
批量实现面向对象的实例代码
2013/07/01 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
2013/11/07 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
jQuery对html元素的取值与赋值实例详解
2015/12/18 Javascript
ES6的新特性概览
2016/03/10 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
angular 数据绑定之[]和{{}}的区别
2018/09/25 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
Python实现二叉堆
2016/02/03 Python
实例讲解Python爬取网页数据
2018/07/08 Python
用Django写天气预报查询网站
2018/10/21 Python
python批量赋值操作实例
2018/10/22 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
python搜索包的路径的实现方法
2019/07/19 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
群众路线教师自我剖析材料
2014/09/29 职场文书
贷款工作证明模板
2015/06/12 职场文书
Jsonp劫持学习
2021/04/01 PHP
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers