PHP自动生成月历代码
作者:bea
<?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
<?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>"); }}?>
有用 | 无用
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版)
- 如何限制访问者的ip(PHPBB的代码)
- substr()函数中文版
- 如何使用PHP中的字符串函数
- vBulletin Forum 2.3.xx SQL Injection
- PHP_Flame(Version:Progress)的原代码
- 图形数字验证代码
- 做个自己站内搜索引擎
- 用libTemplate实现静态网页的生成
- php注入实例
- 967 个函式
- 如何给phpadmin一个保护
- Search Engine Friendly的URL设计
- PHPlet在Windows下的安装
- 一棵php的类树(支持无限分类)
- 基于PHP+MySQL的聊天室设计
- Win9x/ME下Apache+PHP安装配置
- 关于PHP中的Class的几点个人看法