строка — текущий год, определенный день и указанный месяц

Я хочу сравнить две даты, но что-то не так.

Мой код:

<?php

date_default_timezone_set('Europe/Lisbon');
$hoje = date("Y/m/d");
$data_mudanca = date("Y")."-10-24";

echo 'Today: '.$hoje.'<br>';
echo 'ChangeDay: '.$data_mudanca.'<br>';

if($hoje > $data_mudanca){
echo 'Today is bigger';
}else{
echo 'ChangeDay is bigger';
}

?>

Мой результат:

Сегодня: 2015/10/23
ChangeDay: 2015-10-24
Сегодня больше


но сегодня не больше.

-2

Решение

Ваши даты не в том же формате, а тем более сопоставимом. Либо использовать DateTime() объекты, которые сопоставимы, или положить их в YYYY-MM-DD формат строки, который также сопоставим:

<?php

date_default_timezone_set('Europe/Lisbon');
$hoje = new DateTime();
$data_mudanca = new DateTime(date("Y")."-10-24");

if($hoje > $data_mudanca){
echo 'Today is bigger';
}else{
echo 'ChangeDay is bigger';
}

?>

или же

<?php

date_default_timezone_set('Europe/Lisbon');
$hoje = date("Y-m-d");
$data_mudanca = date("Y")."-10-24";

if($hoje > $data_mudanca){
echo 'Today is bigger';
}else{
echo 'ChangeDay is bigger';
}

?>
2

Другие решения

Добавить функцию strtotime () php

    <?php
date_default_timezone_set('Europe/Lisbon');
$hoje = strtotime(date("Y/m/d"));
$data_mudanca = strtotime(date("Y")."-10-24");

echo 'Today: '.$hoje.'<br>';
echo 'ChangeDay: '.$data_mudanca.'<br>';

if($hoje > $data_mudanca){
echo 'Today is bigger';
}else{
echo 'ChangeDay is bigger';
}

?>
2

По вопросам рекламы [email protected]