Я хочу сравнить две даты, но что-то не так.
Мой код:
<?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
Сегодня больше
но сегодня не больше.
Ваши даты не в том же формате, а тем более сопоставимом. Либо использовать 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';
}
?>
Добавить функцию 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';
}
?>