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

Как сравнить даты в разных форматах?

Мне нужно сравнить текущее время с датой 27-07-2022 11:53:4 AM

Задача осложняется тем, что дата в другом формате. я перевожу в нужный формат обе даты, но функция diffпотом завершается с ошибкой:
Fatal error: Call to a member function diff() on string in


Мой код:
$origin = new DateTime();
$origin = $origin->format('d-m-Y');
$date = explode(' ', "27-07-2022 11:53:4 AM");
$target = DateTime::createFromFormat('m-d-Y', $date[0])->format('d-m-Y');

var_dump($origin);
echo "<br>";
var_dump($target);
$interval = $origin->diff($target);
  • Вопрос задан
  • 128 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
Попробуйте так:
$origin = new DateTime();
$date = explode(' ', "27-07-2022 11:53:4 AM");
$target = DateTime::createFromFormat('d-m-Y', $date[0]);

echo $origin->diff($target)->format('%a days');
Ответ написан
Комментировать
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Вам поможет:
$origin_text = $origin->format('d-m-Y');
Ответ написан
PANOV_DEV
@PANOV_DEV
У вас $origin возвращает строку, а должен объект.
Ответ написан
Ваш ответ на вопрос

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

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