В PHP, учитывая временную метку UTC, я хотел бы добавить ровно N количество лет. Это должно учитывать високосные годы.
Спасибо.
$newTimestamp = strtotime('+2 years', $timestamp);
Замените «+2 года» по мере необходимости.
$date = new DateTime(); $date->add(new DateInterval('P10Y'));
добавляет 10 лет ( 10Y
) к «сегодня». Однако DateTime только в PHP 5.3.
Одна вещь, которую вы должны учитывать, когда вы это делаете.
$newTimestamp = strtotime('+2 years', $timestamp);
Это составляет 2 года (720 или 721 день). Если вы хотите сохранить один и тот же день и месяц и добавить еще 2 года в метку времени
вы должны использовать mktime.
пример
$timestamp = mktime(0, 0, 0, $month, $day, $year+2);`
$date = "1998-08-14"; $newdate = strtotime ( '+2 years' , strtotime ( $date ) ) ; $newdate = date ( 'Ymj' , $newdate ); echo $newdate;
вторит
2000-08-14