首页 > 开发 > PHP > 正文

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

2024-05-04 22:50:41
字体:
来源:转载
供稿:网友

本文实例讲述了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"}            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表