Дата PHP добавляет 1 год к текущей дате

У меня есть этот код PHP:

$end=date('Ym-d'); 

Я использую его для получения текущей даты, и мне нужна дата 5 лет в будущем, что-то вроде:

 $end=date('(Y + 5)-m-d'); 

Как я могу это сделать?

Попробуйте:

 $end = date('Ym-d', strtotime('+5 years')); 

Изменение дат, основанных на этом сообщении
strtotime () действительно эффективен и позволяет легко изменять / преобразовывать даты с помощью относительных выражений:

процедурный

  $dateString = '2011-05-01 09:22:34'; $t = strtotime($dateString); $t2 = strtotime('-3 days', $t); echo date('r', $t2) . PHP_EOL; // returns: Thu, 28 Apr 2011 09:22:34 +0100 

DateTime

  $dateString = '2011-05-01 09:22:34'; $dt = new DateTime($dateString); $dt->modify('-3 days'); echo $dt->format('r') . PHP_EOL; // returns: Thu, 28 Apr 2011 09:22:34 +0100 

То, что вы можете бросить в strtotime (), довольно удивительно и очень читаемо для человека. Взгляните на этот пример, который ищет вторник на следующей неделе.

процедурный

  $t = strtotime("Tuesday next week"); echo date('r', $t) . PHP_EOL; // returns: Tue, 10 May 2011 00:00:00 +0100 

DateTime

  $dt = new DateTime("Tuesday next week"); echo $dt->format('r') . PHP_EOL; // returns: Tue, 10 May 2011 00:00:00 +0100 

Обратите внимание, что приведенные выше примеры возвращаются относительно времени. Полный список форматов времени, которые strtotime () и конструктор DateTime принимает, перечислены на странице Поддерживаемые даты и времени PHP .

Другим примером, подходящим для вашего дела, может быть: на основании этого сообщения

  <?php //How to get the day 3 days from now: $today = date("j"); $thisMonth = date("n"); $thisYear = date("Y"); echo date("F j Y", mktime(0,0,0, $thisMonth, $today+3, $thisYear)); //1 week from now: list($today,$thisMonth,$thisYear) = explode(" ", date("jn Y")); echo date("F j Y", mktime(0,0,0, $thisMonth, $today+7, $thisYear)); //4 months from now: list($today,$thisMonth,$thisYear) = explode(" ", date("jn Y")); echo date("F j Y", mktime(0,0,0, $thisMonth+4, $today, $thisYear)); //3 years, 2 months and 35 days from now: list($today,$thisMonth,$thisYear) = explode(" ", date("jn Y")); echo date("F j Y", mktime(0,0,0, $thisMonth+2, $today+35, $thisYear+3)); ?> 

Используйте этот код для добавления лет или месяцев или дней или часов или минут или секунд до заданной даты

  echo date("Ymd H:i:s", strtotime("+1 years", strtotime('2014-05-22 10:35:10'))); //2015-05-22 10:35:10 echo date("Ymd H:i:s", strtotime("+1 months", strtotime('2014-05-22 10:35:10')));//2014-06-22 10:35:10 echo date("Ymd H:i:s", strtotime("+1 days", strtotime('2014-05-22 10:35:10')));//2014-05-23 10:35:10 echo date("Ymd H:i:s", strtotime("+1 hours", strtotime('2014-05-22 10:35:10')));//2014-05-22 11:35:10 echo date("Ymd H:i:s", strtotime("+1 minutes", strtotime('2014-05-22 10:35:10')));//2014-05-22 10:36:10 echo date("Ymd H:i:s", strtotime("+1 seconds", strtotime('2014-05-22 10:35:10')));//2014-05-22 10:35:11 

Вы также можете вычесть замену + на –

Чтобы добавить один год к сегодняшней дате, используйте следующее:

 $oneYearOn = date('Ym-d',strtotime(date("Ymd", mktime()) . " + 365 day")); 

Использование углерода :

 $dt = Carbon::now(); echo $dt->addYears(5); 

попробуй это ,

 $presentyear = '2013-08-16 12:00:00'; $nextyear = date("M d,Y",mktime(0, 0, 0, date("m",strtotime($presentyear )), date("d",strtotime($presentyear )), date("Y",strtotime($presentyear ))+5)); echo $nextyear; 

Это очень легко с Carbon. $date = "2016-02-16"; // Or Your date $newDate = Carbon::createFromFormat('Ym-d', $date)->addYear(1);

  $date = strtotime($row['timestamp']); $newdate = date('dm-Y',strtotime("+1 year",$date)); 

попробуй это:

 $yearnow= date("Y"); $yearnext=$yearnow+1; echo date("Y")."-".$yearnext;