计算指定日期的前N个月日期

    /**
     * 计算指定日期的前N个月日期
     * @param type $time
      * @param int $month_length
     * @return date
     */
    public function calLMP($time,$month_length ){
        $r = date('Y-m-d',strtotime('-'.$month_length.'month',strtotime($time)));
        list($ey,$em,$ed) = explode('-',$time);
        list($ry,$rm,$rd) = explode('-',$r);
        //关键就是这里。
        $ml = $em-$rm;
        if($ml==($month_length%12 - 1)||($ml+12)==($month_length%12 - 1))
        {
            $rm--;
            $rd = 30-$rd;
            $r = $ry.'-'.$rm.'-'.$rd;
        }
        return  $r;
    }

posted on 2014-06-23 16:05  转转_li  阅读(300)  评论(0编辑  收藏  举报

导航