@YariKartoshe4ka

Как сравнить строки в PHP?

Есть две строки: '01.01.2019 15:24' и '02.01.2019 13:56'. Нужно их сравнить на PHP так, чтобы вывести более новую из них, т.е. вторую. Как можно это сделать?
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
@Flying
PHP поддерживает сравнение объектов DateTimeInterface напрямую, в данном случае стоит пользоваться именно этим:
$format = 'd.m.Y H:i';
$tz = new DateTimeZone('UTC');

$d1 = DateTimeImmutable::createFromFormat($format, '01.01.2019 15:24', $tz);
$d2 = DateTimeImmutable::createFromFormat($format, '02.01.2019 13:56', $tz);

$newer = $d1 >= $d2 ? $d1 : $d2;
echo $newer->format(DATE_ATOM);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Zoominger
@Zoominger
System Integrator
Преобразуйте строку в дату и время и сравните.
Вот, например, приведение к дате:
$date = "2013-06-17 19:00:00";
$d1 = strtotime($date); // переводит из строки в дату
$date2 = date("Y-m-d", $d1); // переводит в новый формат


К дате и времени погуглите сами.
Ответ написан
Комментировать
@Nujabes37
:DEATH
$date1  = DateTime::createFromFormat( 'd.m.Y H:i',  '01.01.2019 15:24');
$date2 = DateTime::createFromFormat( 'd.m.Y H:i',  '02.01.2019 13:56');

$result = $date2 < $date1 ? $date1 : $date2;

echo $result->format('d.m.Y H:i');
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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