2012-09-05 67 views
2

我有一个随机开始日期(例如2012-09-19)。我希望在此日期之后轻松获得每月周期的结束日期。然而,每月周期不完全是30天,而是从日期到例如9月19日至10月19日。从任何日期开始计算+ N个月周期(闰年计入帐户)

我想要轻松计算开始和结束日期,比如说,订阅开始后的第5个月或第500个月,并将闰年考虑在内。例如,如果订购于闰年的2月29日开始,而闰年的二月到来,则该期间的结束日期应为2月28日,而不会将未来的月度周期取代一天。

回答

0

这似乎很容易,使用strtotime();

假设最初的日期是2012-02-29。

function addToDate($date, $add){ 
     if(!strtotime($date)) return FALSE; 
     $date = strtotime($date); 
     return strtotime($add, $date); 
} 

$result = addToDate('2012-02-29', '+50 months'); 
echo date('Y-m-d', $result); 

将在2016-04-29产生。