/***根據(jù)$endtime,返回指定$monthes月之前的日*/function severalMonthAgo($endtime,$monthes){if (!$endtime) { return false;}if (!is_int($monthes) || $monthes <=0) { return false;}$m = date("m",$endtime);$y = date("Y",$endtime);$d = date("d",$endtime);$year = floor($monthes/12);$monthes_mod = $monthes%12;if($year == 0){//<12個(gè)月 if($m < $monthes){ //當(dāng)前月份小于n月前 $res_y = $y-1; $res_m = 12-($monthes-$m); $t = date("t",strtotime($res_y."-".$res_m."-01")); if($d<$t){ $res_d = $d; }else{ $res_d = $t; } }elseif($m == $monthes){ $res_y = $y-1; $res_m = 12; $t = date("t",strtotime($res_y."-".$res_m."-01")); if($d<$t){ $res_d = $d; }else{ $res_d = $t; } }elseif($m>$monthes){ $res_y = $y; $res_m = $m-$monthes; $t = date("t",strtotime($res_y."-".$res_m."-01")); if($d<$t){ $res_d = $d; }else{ $res_d = $t; } }}elseif($year>0){ $y = $y-$year; $monthes = $monthes_mod; if($m < $monthes){ //當(dāng)前月份小于n月前 $res_y = $y-1; $res_m = 12-($monthes-$m); $t = date("t",strtotime($res_y."-".$res_m."-01")); if($d<$t){ $res_d = $d; }else{ $res_d = $t; } }elseif($m == $monthes){ $res_y = $y-1; $res_m = 12; $t = date("t",strtotime($res_y."-".$res_m."-01")); if($d<$t){ $res_d = $d; }else{ $res_d = $t; } }elseif($m>$monthes){ $res_y = $y; $res_m = $m-$monthes; $t = date("t",strtotime($res_y."-".$res_m."-01")); if($d<$t){ $res_d = $d; }else{ $res_d = $t; } }}return strtotime($res_y."-".$res_m."-".$res_d);}/***根據(jù)$endtime,返回指定$monthes月之前的日*/function severalMonthAgoEx($endtime,$monthes){if (!$endtime) { return false;}if (!is_int($monthes) || $monthes <=0) { return false;}$m = date("m",$endtime);$y = date("Y",$endtime);$d = date("d",$endtime);$year = floor($monthes/12);$monthes_mod = $monthes%12;$y -= $year;//$year =0或>0;//$monthes_mod =0或>0或if ($year>0) { if ($monthes_mod>0) { $m_diff = 12+$m-$monthes_mod; $m_diff_div = floor($m_diff/12); $m_diff_mod = $m_diff%12; if ($m_diff_div > 0) { $res_y = $y; $res_m = $m_diff_mod; }elseif ($m_diff_div == 0) { $res_y = $y -1; $res_m = $m_diff_mod; } }elseif ($monthes_mod==0) { //整除 $res_y = $y; $res_m = $m; }}elseif ($year == 0) { $m_diff = 12+$m-$monthes_mod; $m_diff_div = floor($m_diff/12); $m_diff_mod = $m_diff%12; if ($m_diff_div > 0) { $res_y = $y; }elseif ($m_diff_div == 0) { $res_y = $y -1; } $res_m = $m_diff_mod;}$t = date("t",strtotime($res_y."-".$res_m."-01"));if($d<$t){ $res_d = $d;}else{ $res_d = $t;}return strtotime($res_y."-".$res_m."-".$res_d);}
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注