2

我有一个随机的开始日期(例如 2012-09-19)。我想在此日期之后轻松获得结束的每月周期的日期。但是,每月的周期并不完全是 30 天,而是从日期到日期,例如 9 月 19 日到 10 月 19 日。

我想轻松计算订阅开始后的第 5 个月或第 500 个月的开始和结束日期,同时考虑闰年。例如,如果订阅于闰年的 2 月 29 日开始,而非闰年的 2 月到来,则该期间的结束日期应为 2 月 28 日,而不会将未来的每月周期替换一天。

4

1 回答 1

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。

于 2012-09-05T09:17:44.137 回答