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 远程关机操作的代码
Dec 05 PHP
几个有用的php字符串过滤,转换函数代码
May 01 PHP
Laravel 4.2 中队列服务(queue)使用感受
Oct 30 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 PHP
Yii学习总结之安装配置
Feb 22 PHP
php使用memcoder将视频转成mp4格式的方法
Mar 12 PHP
php导出中文内容excel文件类实例
Jul 06 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
Mar 17 PHP
thinkPHP内置字符串截取函数用法详解
Nov 15 PHP
PHP无限极分类函数的实现方法详解
Apr 15 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
Jun 07 PHP
yii2的restful api路由实例详解
May 14 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中cookie的作用域
2008/03/27 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
PHP实现的贪婪算法实例
2017/10/17 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
Jquery替换已存在于element上的event的方法
2010/03/09 Javascript
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
node.js实现博客小爬虫的实例代码
2016/10/08 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
JSONP跨域请求
2017/03/02 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
vue使用video插件vue-video-player详解
2020/10/23 Javascript
[03:21]辉夜杯主赛事 12月25日TOP5
2015/12/26 DOTA
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
python如何在列表、字典中筛选数据
2018/03/19 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
python中字符串的操作方法大全
2018/06/03 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
婚礼司仪主持词
2014/03/14 职场文书
家长学校实施方案
2014/03/15 职场文书
商铺租赁意向书
2014/04/01 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
周一问候语大全
2015/11/10 职场文书
创业计划书之美容店
2019/09/16 职场文书
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技