Задать вопрос
@stevieg8

Как посчитать разницу между датами без года в PHP?

Здравствуйте, помогите пожалуйста решить задачу.
У меня есть даты рождения пользователей, вбитые через ACF.
Как вывожу?
$bday = get_field('День рождения', $user);
Выводится в полном формате, например 15.06.2022
Мне нужно:
1. эту дату сократить до дня и месяца, чтобы было 15.06
2. взять текущую дату в таком же формате и посчитать между ними разницу в днях, чтобы увидеть, что например между 15.06 и текущей датой 08.06 - 7 дней.
Между полными датами с помощью date_diff получается все посчитать
$bday = get_field('День рождения', $user);
$today = date();
$today1= new DateTime($today);
$bday1= new DateTime($bday);
$interval = $bday1->diff($today1);
echo $interval->format('%R%a дней');

Но вот правильно срезать до формата день-месяц и посчитать тоже само не получается. Спасибо.
  • Вопрос задан
  • 293 просмотра
Подписаться 1 Простой 2 комментария
Ответ пользователя stevieg8 К ответам на вопрос (4)
@stevieg8 Автор вопроса
В принципе, как перебрать даты рождений людей и сравнить с текущей датой - понятно.
<?php 
                $blogusers = get_users([
                    'login__not_in' => ['stevieg8'],
                    'orderby'       => 'registered',
                ]);
                foreach ( $blogusers as $user ) {
                    $date = date('d.m.Y');
                    $bday = get_field('День рождения', $user);
                    if ($bday === $date) {
                        echo $user->user_lastname;
                    }
                }
            ?>


Но работает, само собой, только если дата рождения пользователя полностью совпадает с текущей. Вот поставил человеку год рождения 2022 и всё ок.
Ответ написан