-2

我想比较两个日期,但出了点问题。

我的代码:

<?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 变化日:2015-10-24 今天更大


但今天并不大。

4

2 回答 2

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';
}

?>
于 2015-10-23T12:51:09.027 回答
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';
    }

    ?>
于 2015-10-23T12:54:36.420 回答