PHP简单日历实现方法


Posted in PHP onJuly 20, 2016

本文实例讲述了PHP简单日历实现方法。分享给大家供大家参考,具体如下:

运行效果截图如下:

PHP简单日历实现方法

具体代码如下:

<?php
/*
 * Created on 2016-7-20
 */
SimCalendar('2016-08');//显示8月份日历
function SimCalendar($date)
{
  /**
   * 简单日历输出,本函数需要cal_days_in_month的支持
   * @param $date Y-m 要输出的日期
   */
  echo '<table border="1">
  <thead>
    <tr>
      <th>日</th>
      <th>一</th>
      <th>二</th>
      <th>三</th>
      <th>四</th>
      <th>五</th>
      <th>六</th>
    </tr>
  </thead>
  <tbody>';
    $date_array = explode('-', $date);
    $start_week = 0;//从星期天开始为0
    $month = cal_days_in_month(CAL_GREGORIAN, $date_array[1], $date_array[0]);//当月的天数
    $wstar = date('w', strtotime($date . '-01'));//当月从星期几天始
    $rows = ceil(($wstar + $month) / 7);//总行数
    $mday = 1;//第几天
    for ($i = 0; $i < $rows; $i++) {
      echo '<tr>';
      for ($d = 0; $d < 7; $d++) {
        $nowday = 7 * $i + $d + $start_week;
        if ($nowday >= $wstar && $mday <= $month) {
          $temp = date('d', strtotime($date . '-' . $mday));
          echo '<td>'.$temp . '</td>';
          $mday++;
        } else {
          echo '<td> </td>';
        }
      }
      echo '</tr>';
    }
  echo '</tbody>
</table>';
}
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 截取字符串函数整理(支持gb2312和utf-8)
Feb 16 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
PHP中break及continue两个流程控制指令区别分析
Apr 18 PHP
php 中英文语言转换类
Sep 07 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
PHP生成不重复随机数的方法汇总
Nov 19 PHP
PHP接口并发测试的方法(推荐)
Dec 15 PHP
laravel 5.3中自定义加密服务的方案详解
May 09 PHP
PHP实现根据密码长度显示安全条
Jul 04 PHP
CI框架(CodeIgniter)操作redis的方法详解
Jan 25 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
php源码的使用方法讲解
Sep 26 PHP
分析PHP中单双引号的误区和双引号小隐患
Jul 19 #PHP
PHP实现数组array转换成xml的方法
Jul 19 #PHP
smarty循环嵌套用法示例分析
Jul 19 #PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 #PHP
在PHP语言中使用JSON和将json还原成数组的方法
Jul 19 #PHP
JSON两种结构之对象和数组的理解
Jul 19 #PHP
深入理解PHP JSON数组与对象
Jul 19 #PHP
You might like
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
javascript document.compatMode兼容性
2010/02/23 Javascript
appendChild() 或 insertBefore()使用与区别介绍
2013/10/11 Javascript
JS 获取滚动条高度示例代码
2013/10/24 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
Bootstrap每天必学之滚动监听
2016/03/16 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
原生js二级联动效果
2017/06/20 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
python-opencv在有噪音的情况下提取图像的轮廓实例
2017/08/30 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
python如何设置静态变量
2020/09/07 Python
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
建筑施工安全责任书
2014/07/24 职场文书
简历自我评价范文
2019/04/24 职场文书
Python实现8种常用抽样方法
2021/06/27 Python
Python四款GUI图形界面库介绍
2022/06/05 Python
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server