PHP比较日期时间值

时间:2011-02-14 06:26:49

标签: php datetime

在我的PHP应用程序中,我正在尝试比较日期时间值,如下所示:

if($datetime_from_db < date('Y-m-d H:i:s'))
{
    // then do something
}

两个值的格式相同。我无法弄清楚为什么它只比较日期并忽略时间。日期和时间值对我来说都很重要,但我不知道如何使它工作。

3 个答案:

答案 0 :(得分:19)

字符串(例如"2011-02-14 15:46:00")与另一个字符串进行比较实际上并不比较日期,它会根据{{比较两个字符串3}}。您需要比较实际的数字时间戳:

strtotime($datetime_from_db) < time()

答案 1 :(得分:6)

如果您希望这适用于2038年以后的日期,则不能使用strtotime()或time()。

有关说明,请参阅this question

更好的方法:

new DateTime($datetime_from_db) < new DateTime();

答案 2 :(得分:0)

这可能会对你有帮助。

$today = date("m-d-Y H:i:s");
$thisMonth =date("m");
$thisYear = date("y");
$expectedDate = $thisMonth."-08-$thisYear 23:58:00";
//pr($today);
//pr($expectedDate);


    if (strtotime($expectedDate) > strtotime($today)) {
        echo "Expected date is greater then current date";
        return ;
    } else
        {
         echo "Expected date is lesser then current date";
        }
相关问题