php获取当前时间之后第N个自然月最后一天的日期

<!-- lang: php -->
php获取当前时间之后第N个自然月最后一天的日期   

<?php 
function get_Month($num){
	//获取当前的时间
	$firstdate = date('Y-m-d');
	$start=intval(date("m",strtotime($firstdate)));
	for($i=0;$i<$num;$i++){
		if(($start+$i)>12){
			$result_day = date("Y-".(($start+$i)-12)."-01",strtotime("+1 year"));
		}else{
			$result_day = date("Y-".($start+$i)."-01",strtotime($firstdate));
		}	
		$day = date("t",strtotime($result_day));
		$result_day = date("Y-m-d",(strtotime($result_day)+($day-1)*24*3600));	
	}
	return $result_day;
} 	




/**
 * 功能:获得某个时间段内,所有的自然月
 * @param string $date 
 * return array Array 
 */
function getMonth(array $data){
	$firstdate = $data[0];
	$lastdate = $data[1];
	$start=intval(date("m",strtotime($firstdate)));
	$end=intval(date("m",strtotime($lastdate)));
	for($i=$start;$i<=$end;$i++){
	$firstday = date("Y-".$i."-01",strtotime($firstdate));
	$lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day")); 
	$result[]=array('firstday' => $i == $start?$firstdate:$firstday,'lastday'=> $i == $end?$lastdate:$lastday);
	}
	return $result;
} 
<!-- lang: php -->
//获取当前日期后的第n个月份
function getOneMonth($sign = 0){
	$tmp_date=date("Ym");  
	//切割出年份  
	$tmp_year=substr($tmp_date,0,4);  
	//切割出月份  
	$tmp_mon =substr($tmp_date,4,2);  
	$tmp_nextmonth=mktime(0,0,0,$tmp_mon+$sign,1,$tmp_year);  
	return date('Y-m',$tmp_nextmonth);
}

转载于:https://my.oschina.net/u/585932/blog/86857

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值