同时添加1年至日期和减1天

use*_*435 2 php time date

添加到现有日期1年和删除1天的最佳方法是什么.所以,如果今天的日期是04/09/2013,我想要新的约会03/09/2014.还有每4年发行366天而不是365年的问题,当然如果开始日期是01/09/2013它应该改变月份,那么结束日期应该是31/08/2014.请帮忙.我的日期字段看起来像那样.我想我必须用mktime或时间做些什么吗?

$renewalDate = date('d F Y', strtotime($rows['CoverStartDate']));
Run Code Online (Sandbox Code Playgroud)

Joh*_*nde 7

DateTime() 占闰年:

// PHP 5.2+
$dt = new DateTime($rows['CoverStartDate']);
$dt->modify('+1 year');
$dt->modify('-1 day');
$renewalDate  = $dt->format('d F Y');
Run Code Online (Sandbox Code Playgroud)

要么:

// PHP 5.3+
$dt = new DateTime($rows['CoverStartDate']);
$dt->add(new DateInterval('P1Y'));
$dt->sub(new DateInterval('P1D'));
$renewalDate  = $dt->format('d F Y');
Run Code Online (Sandbox Code Playgroud)

要么:

// PHP 5.5+
$renewalDate = (new DateTime('04/09/2013'))->add(new DateInterval('P1Y'))
                                           ->sub(new DateInterval('P1D'))
                                           ->format('d F Y');
Run Code Online (Sandbox Code Playgroud)