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 相关文章推荐
下载文件的点击数回填
Oct 09 PHP
php防注
Jan 15 PHP
PHP实现异步调用方法研究与分享
Oct 27 PHP
初品cakephp 入门基础
Feb 16 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
ThinkPHP模板输出display用法分析
Nov 26 PHP
php 类自动载入的方法
Jun 03 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
Oct 28 PHP
php json中文编码为null的解决办法
Dec 14 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 PHP
PHP实现两种排课方式
Jun 26 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运行环境配置的详解
2013/06/04 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
JQuery 国际象棋棋盘 实现代码
2009/06/26 Javascript
菜鸟javascript基础资料整理3 正则
2010/12/06 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
Vue Router 实现动态路由和常见问题及解决方法
2020/03/06 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
Python3读取zip文件信息的方法
2015/05/22 Python
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
详解Python3中的 input() 函数
2020/03/18 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
Java中实现多态的机制是什么?
2014/12/07 面试题
全神贯注教学反思
2014/02/03 职场文书
人事文员岗位职责
2014/02/16 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
工作证明英文模板
2014/10/21 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
用Python实现Newton插值法
2021/04/17 Python
oracle索引总结
2021/09/25 Oracle
MySQL的索引你了解吗
2022/03/13 MySQL
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js