91hu

91hu

PHP 2时间间距

/**
 * @param $startDateTime 开始时间
 * @param $endDateTime 结束时间
 * @return array
 */
 private  function timeDiff($startDateTime, $endDateTime) {
    $startDateTime = new \DateTime($startDateTime);
    $endDateTime = new \DateTime($endDateTime);
    $interval = $startDateTime->diff($endDateTime);
    $formatMap = [
        'y' => 'year',
        'm' => 'month',
        'd' => 'day',
        'h' => 'hour',
        'i' => 'minute',
        's' => 'second',
        'days' => 'days',
    ];

    $returnData = [];
    foreach ($formatMap as $key => $val) {
        $returnData[$val] = $interval->{$key};
    }
    return $returnData;
}



//        //获取可升级的月数
//        $end_date= date("Y-m-d",$current_cdn['endtime']);
//        $cur_date=date("Y-m-d",time());
//        $max_u_ymd= $this->timeDiff( $cur_date,$end_date);
//        $data['max_u_ymd']=$max_u_ymd;
//        $max_u_month=intval($max_u_ymd['year']*12)+intval( $max_u_ymd['month']*1)+intval($max_u_ymd['day']?1:0);
//        if(intval($post['num'])>$max_u_month){
//            $data['message']="升级的包时长超出主套餐时长!";
//            $data['msg']=array($cur_date,$end_date,$max_u_month);
//            return json($data);
//        }
//
//        //获取升级的总数
//        $i_num=intval($post['num']) ;
//        $u_year= intval ($i_num/12);//升级的年数
//        $i_num=$i_num- $u_year*12;
//        $u_season= intval ($i_num/3);//升级的季数
//        $i_num=$i_num- $u_season*3;
//        $u_month= intval ($i_num/1);//升级的月数
//        //$data['$current_cdn']=$current_cdn;

        //计算升级的总费用
        $now = date('Y-m-d H:i:s',time());
//        //当前时间向后推N个月 的日期
//        $expect_end_date=date("Y-m-d H:i:s",strtotime("+".intval($post['num'])."months",strtotime($now)));
//        $expect_end_date_time=strtotime($expect_end_date);
//        if($expect_end_date_time>$current_cdn['endtime']){
//            //购买的升级包到期时间在主套餐时长外 --购买存在按天计算的
//            $p_result=intval($u_year*$package['prices_y'])+intval($u_season*$package['prices_s']);
//            if($u_month>1){
//                //大于1个月 升级X-1个整月+N天
//                $p_result+=($u_month-1)*$package['prices_m'];
//            }else if(1==$u_month){
//                if(0==$max_u_ymd['day']){
//                    $p_result+=1*$package['prices_m'];
//                }
//            }
//            //预期的时间向前推1个月的时间的时间戳
//            $expect_e_d_ts=date("Y-m-d H:i:s",strtotime("-1months",$expect_end_date_time));
//            $expect_e_d_ts_time=strtotime($expect_e_d_ts);
//            //最后一个月的天数
//            $expect_e_d_days=intval($expect_end_date_time-$expect_e_d_ts_time)/(24*3600);
//            //$data["test_msg"]=array($expect_end_date_time,$expect_e_d_ts_time,intval($expect_end_date_time-$expect_e_d_ts_time),$expect_e_d_days);
//            //最后一个月每天的平均的单价-
//            $last_per_price=intval($package['prices_m'])/$expect_e_d_days;
//            $p_result+=$max_u_ymd['day']*$last_per_price;
//            $data["tast"]=array($last_per_price,$max_u_ymd['day']);
//            $p_result=$p_result;
//
//        }else{
//            //购买的升级包在主套餐时长内 直接按套餐计算
//            $data['tast']=array("in out");
//            $p_result=intval($u_year*$package['prices_y']+$u_season*$package['prices_s']+$u_month*$package['prices_m']);
//        }
        $p_result=$p_result/100;


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

联系我 331434376    15629529961