echart图做报表常用的数组集合

/**
 * 获取指定日期的前六个月
 * 返回一个二维数组
 */
function to_sex_month(){
    $today = date("Y-m-d");
    $arr = array();
    $old_time = strtotime('-5 month',strtotime($today));
    for($i = 0;$i < 6; ++$i){
        $t = strtotime("+$i month",$old_time);
        $arr[] = explode('/',date('Y-m-01',$t).'/'.date('Y-m-',$t).date('t',$t));
    }
    return $arr;
}
/**
 * 计算出两个日期之间的月份
 * @author Eric
 * @param  [type] $start_date [开始日期,如2014-03]
 * @param  [type] $end_date   [结束日期,如2015-12]
 * @param  string $explode    [年份和月份之间分隔符,此例为 - ]
 * @param  boolean $addOne    [算取完之后最后是否加一月,用于算取时间戳用]
 * @return [type]             [返回是两个月份之间所有月份字符串]
 */
function dateMonths($start_date,$end_date,$explode='-',$addOne=false){
    //判断两个时间是不是需要调换顺序
    $start_int = strtotime($start_date);
    $end_int = strtotime($end_date);
    if($start_int > $end_int){
        $tmp = $start_date;
        $start_date = $end_date;
        $end_date = $tmp;
    }
    //结束时间月份+1,如果是13则为新年的一月份
    $start_arr = explode($explode,$start_date);
    $start_year = intval($start_arr[0]);
    $start_month = intval($start_arr[1]);
    $end_arr = explode($explode,$end_date);
    $end_year = intval($end_arr[0]);
    $end_month = intval($end_arr[1]);
    $data = array();
    $data[] = $start_date;
    $tmp_month = $start_month;
    $tmp_year = $start_year;
    //如果起止不相等,一直循环
    while (!(($tmp_month == $end_month) && ($tmp_year == $end_year))) {
        $tmp_month ++;
        //超过十二月份,到新年的一月份
        if($tmp_month > 12){
            $tmp_month = 1;
            $tmp_year++;
        }
        $data[] = $tmp_year.$explode.str_pad($tmp_month,2,'0',STR_PAD_LEFT);
    }
    if($addOne == true){
        $tmp_month ++;
        //超过十二月份,到新年的一月份
        if($tmp_month > 12){
            $tmp_month = 1;
            $tmp_year++;
        }
        $data[] = $tmp_year.$explode.str_pad($tmp_month,2,'0',STR_PAD_LEFT);
    }
    return $data;
}


/**
 * 获取指定月份的第一天开始和最后一天结束的时间戳
 * @param int $y 年份 $m 月份
 * @return array(本月开始时间,本月结束时间)
 */
function mFristAndLast($y = "", $m = ""){
    if ($y == "") $y = date("Y");
    if ($m == "") $m = date("m");
    $m = sprintf("%02d", intval($m));
    $y = str_pad(intval($y), 4, "0", STR_PAD_RIGHT);
    $m>12 || $m<1 ? $m=1 : $m=$m;
    $firstday = strtotime($y . $m . "01000000");
    $firstdaystr = date("Y-m-01", $firstday);
    $lastday = strtotime(date('Y-m-d 23:59:59', strtotime("$firstdaystr +1 month -1 day")));
    return array(
        "firstday" => $firstday,
        "lastday" => $lastday
    );
}

猜你喜欢

转载自blog.csdn.net/weixin_38615720/article/details/90815227