Shlop
@Shlop
Full Stack Developer (PHP/Laravel/JavaScript)

Как к дате добавить один год и вычесть день?

Здравствуйте, подскажите пожалуйста, стоит у меня такая вот задача. Пользователь вводит дату, и к этой дате нужно добавить год и вычесть один день, и тут ещё нужно учесть високосный год. Вот я делал вот так:
$dateTemp = explode("-",$DATE);
	$yearhEnd = $dateTemp[0] + 1;
	$MonthEnd = $dateTemp[1];
	$dayEnd = $dateTemp[2] - 1;
	$ResultDateEnd = $dayEnd.".".$MonthEnd.".".$yearhEnd;

И здесь я вот думаю что нужно тогда как то проверять, что если допустим число 01.03.2017 то надо вывести вот так 28.02.2018 и дополнительно определять ещё високосный год. Подскажите пожалуйста каким образом такое сделать? Заранее благодарю за ответы
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
@Arik
<?php
$DATE = '01.03.2017';
$time = strtotime('+1 year -1 day', strtotime($DATE));
echo date('d.m.Y', $time);
?>
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
qonand
@qonand
Software Engineer
$newDate = date_create_from_format('Y-m-d', $date);
$newDate->modify('+1 YEAR -1 DAY');
echo $newDate->format('d.m.Y');
Ответ написан
doublench21
@doublench21
А вот как-то готовыми классами для работы с датой вы не пытались пользоваться?
php.net/manual/ru/refs.calendar.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы