Я посетил часть сообщения, получая разницу дат между двумя датами в SO, но это не дало мне ответа, который я искал. То же самое для чтения документации, у меня возникла проблема с пониманием того, как она работает.Условный DateDiff
Я пробовал кодировать его, но он не ведет себя так, как я ожидал. Вот мой код:
<?php
$currentDate = new DateTime();
$createDateJoin = date_create($getDate['date_joined']);
$dateJoin = date_format($createDateJoin, "Y-m-d");
$yearDifference = $currentDate->diff($createDateJoin);
if ($yearDifference->d < 31 && $yearDifference->m = 0 && $yearDifference->y == 0) {
echo $yearDifference->d . " days";
} else if ($yearDifference->m > 3) {
echo $yearDifference->m . " month";
} else if ($yearDifference->y > 1) {
echo $yearDifference->y . " years";
} else {
echo "Not yet assigned";
}
?>
Как вы можете видеть из моего кода выше, я пытаюсь сделать оттиск, когда после вычисления разницы между 2 датами, оно отвечает условие $yearDifference->
поведения .The из программы которые я испытал, не распечатывает то, что я хочу соответственно (например, сотрудники, работающие более 1 года, будут печатать, сколько лет они работают, месяцы для тех, кто только что пришел, а новый штат меньше месяца будет печатать дни) ,
Я хотел бы знать, как же ->d/m/y
работает и как я могу реально использовать в d
, m
и y
вытягивать конкретную дату правильно. И я также заметил, что когда я обрабатываю $yearDifference
как String
или int
, он дает другой результат для условий. Итак, что я должен рассматривать тип, чтобы легче манипулировать им? Большое спасибо за помощь.