php根据年月获取当月天数及日期数组的方法


Posted in PHP onNovember 30, 2016

本文实例讲述了php根据年月获取当月天数及日期数组的方法。分享给大家供大家参考,具体如下:

function get_day( $date )  
{
    $tem = explode('-' , $date); //切割日期 得到年份和月份
    $year = $tem['0'];
    $month = $tem['1'];
    if( in_array($month , array( 1 , 3 , 5 , 7 , 8 , 01 , 03 , 05 , 07 , 08 , 10 , 12)))
    {
      // $text = $year.'年的'.$month.'月有31天';
      $text = '31';
    }
    elseif( $month == 2 )
    {
      if ( $year%400 == 0 || ($year%4 == 0 && $year%100 !== 0) )    //判断是否是闰年
      {
        // $text = $year.'年的'.$month.'月有29天';
        $text = '29';
      }
      else{
        // $text = $year.'年的'.$month.'月有28天';
        $text = '28';
      }
    }
    else{
      // $text = $year.'年的'.$month.'月有30天';
      $text = '30';
    }
    return $text;
}
echo get_day('2016-8-1');

运行结果为:31

改造,返回日期数组:

/**
* 获取当月天数
* @param $date 
* @param $rtype 1天数 2具体日期数组
* @return 
*/
function get_day( $date ,$rtype = '1')  
{
    $tem = explode('-' , $date);    //切割日期 得到年份和月份
    $year = $tem['0'];
    $month = $tem['1'];
    if( in_array($month , array( 1 , 3 , 5 , 7 , 8 , 01 , 03 , 05 , 07 , 08 , 10 , 12)))
    {
      // $text = $year.'年的'.$month.'月有31天';
      $text = '31';
    }
    elseif( $month == 2 )
    {
      if ( $year%400 == 0 || ($year%4 == 0 && $year%100 !== 0) )    //判断是否是闰年
      {
        // $text = $year.'年的'.$month.'月有29天';
        $text = '29';
      }
      else{
        // $text = $year.'年的'.$month.'月有28天';
        $text = '28';
      }
    }
    else{
      // $text = $year.'年的'.$month.'月有30天';
      $text = '30';
    }
    if ($rtype == '2') {
      for ($i = 1; $i <= $text ; $i ++ ) {
        $r[] = $year."-".$month."-".$i;
      }
    } else {
      $r = $text;
    }
    return $r;
}
var_dump(get_day('2016-8-1','2'));

运行结果如下:

array(31) {
 [0]=>
 string(8) "2016-8-1"
 [1]=>
 string(8) "2016-8-2"
 [2]=>
 string(8) "2016-8-3"
 [3]=>
 string(8) "2016-8-4"
 [4]=>
 string(8) "2016-8-5"
 [5]=>
 string(8) "2016-8-6"
 [6]=>
 string(8) "2016-8-7"
 [7]=>
 string(8) "2016-8-8"
 [8]=>
 string(8) "2016-8-9"
 [9]=>
 string(9) "2016-8-10"
 [10]=>
 string(9) "2016-8-11"
 [11]=>
 string(9) "2016-8-12"
 [12]=>
 string(9) "2016-8-13"
 [13]=>
 string(9) "2016-8-14"
 [14]=>
 string(9) "2016-8-15"
 [15]=>
 string(9) "2016-8-16"
 [16]=>
 string(9) "2016-8-17"
 [17]=>
 string(9) "2016-8-18"
 [18]=>
 string(9) "2016-8-19"
 [19]=>
 string(9) "2016-8-20"
 [20]=>
 string(9) "2016-8-21"
 [21]=>
 string(9) "2016-8-22"
 [22]=>
 string(9) "2016-8-23"
 [23]=>
 string(9) "2016-8-24"
 [24]=>
 string(9) "2016-8-25"
 [25]=>
 string(9) "2016-8-26"
 [26]=>
 string(9) "2016-8-27"
 [27]=>
 string(9) "2016-8-28"
 [28]=>
 string(9) "2016-8-29"
 [29]=>
 string(9) "2016-8-30"
 [30]=>
 string(9) "2016-8-31"
}

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

PHP 相关文章推荐
PHP 伪静态隐藏传递参数名的四种方法
Feb 22 PHP
zend framework多模块多布局配置
Feb 26 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
Feb 05 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
May 05 PHP
PHP打开和关闭文件操作函数总结
Nov 18 PHP
php读取mssql的ntext字段返回值为空的解决方法
Dec 30 PHP
使用Yii2实现主从数据库设置
Nov 20 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
Jun 07 PHP
php微信支付之公众号支付功能
May 30 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
Dec 07 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
Apr 23 PHP
php集成开发环境详解
Sep 24 PHP
详解PHP处理密码的几种方式
Nov 30 #PHP
php+js实现百度地图多点标注的方法
Nov 30 #PHP
php 运算符与表达式详细介绍
Nov 30 #PHP
PHP AjaxForm提交图片上传并显示图片源码
Nov 29 #PHP
php判断是否为ajax请求的方法
Nov 29 #PHP
PHP判断文件是否被引入的方法get_included_files用法示例
Nov 29 #PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 #PHP
You might like
php全排列递归算法代码
2012/10/09 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
Laravel框架实现的rbac权限管理操作示例
2019/01/16 PHP
ie 调试javascript的工具
2009/04/29 Javascript
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
jquery解析XML及获取XML节点名称的实现代码
2016/05/18 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
微信小程序选择图片和放大预览图片功能
2017/11/02 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
Javascript实现单选框效果
2020/12/09 Javascript
深入理解javascript中的this
2021/02/08 Javascript
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
解决python删除文件的权限错误问题
2018/04/24 Python
python读取几个G的csv文件方法
2019/01/07 Python
django与小程序实现登录验证功能的示例代码
2019/02/19 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
python常用数据重复项处理方法
2019/11/22 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
英国最大的经认证的有机超市:Planet Organic
2018/02/02 全球购物
财务管理专业自荐信范文
2013/12/24 职场文书
《傅雷家书》教学反思
2014/04/20 职场文书
工作会议方案
2014/05/21 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
MySql新手入门的基本操作汇总
2021/05/13 MySQL
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers