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的FTP学习(一)[转自奥索]
Oct 09 PHP
简单易用的计数器(数据库)
Oct 09 PHP
全文搜索和替换
Oct 09 PHP
php zend解密软件绿色版测试可用
Apr 14 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
浅析PHP绘图技术
Jul 03 PHP
PHP json_decode函数详细解析
Feb 17 PHP
destoon复制新模块的方法
Jun 21 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
ThinkPHP5 的简单搭建和使用详解
Nov 15 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
Oct 18 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
Oct 22 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
php at(@)符号的用法简介
2009/07/11 PHP
Trying to clone an uncloneable object of class Imagic的解决方法
2012/01/11 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
json的前台操作和后台操作实现代码
2012/01/20 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
微信小程序获取用户绑定手机号方法示例
2019/07/21 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
python3实现全角和半角字符转换的方法示例
2017/09/21 Python
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
numpy:np.newaxis 实现将行向量转换成列向量
2019/11/30 Python
python算的上脚本语言吗
2020/06/22 Python
python实现感知机模型的示例
2020/09/30 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
亿企通软件测试面试题
2012/04/10 面试题
省级四好少年事迹材料
2014/01/25 职场文书
幼儿园教师求职信
2015/03/20 职场文书
物流业务员岗位职责
2015/04/03 职场文书
2016年“六一儿童节”校园广播稿
2015/12/17 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript