Как показать дни месяца или года с date_diff в PHP - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу, чтобы система показала Дни , если значение равно <30 Дней </strong>.

но При значении > 30 дней должно отображаться 1 месяц , а при количестве месяцев > 12 месяцев ,

тогда система должна показывать 1 год .

например, когда результат 1 день 5 месяцев 0 лет

поэтому я хочу, чтобы система просто показывала мне 5 months я не хочу показывать дней и года

вот основной код, использующий diff

$date1=date_create("2013-03-15");
$date2=date_create("now");
$diff=date_diff($date1,$date2);
echo $diff->format("%d days %m months %y years");

вывод 11 days 1 months 5 years.

Поскольку это показывает Годы Я хочу, чтобы система скрыла День и Месяц и только показывает Год .

итак, вывод должен быть таким 5 years.

Может кто-нибудь сказать, пожалуйста, как это сделать

1 Ответ

0 голосов
/ 26 апреля 2018

Вы можете применить простое условие if-else, чтобы проверить, что год, месяц, дни больше 0 или нет, и на основании этого показать любой из них.

Сделайте, как показано ниже: -

if($diff->y > 0){
  echo $diff->format("%y years");
}else if($diff->m > 0){
  echo $diff->format("%m months");
}else if($diff->d > 0){
  echo $diff->format("%d days");
}else { 
  echo "Today"; 
}

Выход: - https://eval.in/994989

...