日历函数
来源:互联网 发布:中易智联软件多少钱 编辑:程序博客网 时间:2024/04/30 10:53
作者: 溪水
<?php/** * 生成某年某月的日历 * @param $weekStart int 每周第一天是周几 * @param $linkUrl array 给日历里面的某些天添加一个a标签 */function generateCalendar( $month = 0, $year = 0, $weekStart = 0, $linkUrl = array() ){ $year = $year ? $year : date( 'Y' ); $month = $month ? $month : date( 'm' ); $time = mktime( 0, 0, 0, $month, 1, $year ); $weekMap = array( 0 => 'Su', 1 => 'Mo', 2 => 'Tu', 3 => 'We', 4 => 'Th', 5 => 'Fr', 6 => 'Sa' ); $weekEnd = ( $weekStart + 6 ) % 7; $day1week = date( 'w', $time ); $lastDay = date( 't', $time ); $curDay = $weekStart; echo '<table border=0 cellpadding=4>'; echo '<tr>'; echo "<th colspan='7'>{$year}年{$month}月</th>"; echo "</tr>\n"; // 输出星期名字 echo '<tr>'; for( $i = 0; $i < 7; $i ++ ) { echo "<td>{$weekMap[ ( $weekStart + $i ) % 7 ]}</td>"; } echo "</tr>\n"; // 输出前导空白 echo '<tr>'; while( $curDay != $day1week ) { echo '<td> </td>'; $curDay = ( $curDay + 1 ) % 7; } // 输出日期 for( $i = 1; $i <= $lastDay; $i ++ ) { if( ! empty( $linkUrl[ $i ] )) { $b = "<a href='{$linkUrl[ $i ]}'>"; $e = '</a>'; } else { $b = ''; $e = ''; } echo "<td>$b$i$e</td>"; if( $curDay == $weekEnd ) { echo "</tr>\n<tr>"; } $curDay = ( $curDay + 1 ) % 7; } // 输出后空白 $leave = ( $weekEnd - $curDay + 8 ) % 7; for( $i = 0; $i < $leave; $i ++ ) { echo '<td> </td>'; } echo "</tr>\n"; echo '</table>';}// 测试代码, 输出 2000年1月 - 2020年12月 的日期表.for( $j = 2000; $j < 2020; $j ++ ){ for( $i = 1; $i <= 12; $i ++ ) { echo '<div style="float: left">'; generateCalendar($i, $j, 0, array( rand( 1, 31 ) => 'http://s.com/1', rand( 1, 31 ) => 'http://s.com/2' ) ); echo '</div>'; } echo '<div style="clear: both"></div>';}
- 日历函数
- 日历函数单元
- calendar 日历函数
- Calendar日历函数
- 天涯社区用到的日历函数
- 按月份打印日历函数
- 取工作中心日历函数
- 根据年月生成日历函数
- 根据年月生成日历函数
- 有用的函数-日期/日历处理函数
- Unix/Linux时间函数和日历函数
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- 日历
- poj 1144
- 受限的操作下迭代技巧之一道腾讯笔试题
- IOS 常用的宏定义(一)
- Java DataBase Connection
- 浏览器内核分析
- 日历函数
- C++中指针和引用的区别
- DB2 oralce mysql 取前十条记录对比
- 效率利器2-tmux
- Android Notes 00 - Services
- VC6.0用单文档调用对话框绘图
- Fedora 17删除旧内核的操作
- 理解 Cocos2D 如何绘制帧
- Ubuntu 下搭建Opencv!