PHP比较日期没有strtotime

Wil*_*Wil 1 php string date strtotime

我很惊讶.我忘了包括strtotime但是意识到它在任何情况下都有效.为什么这样做?

    if($_POST['active_to'] == ''  || $_POST['active_to'] >= '2038-01-19'){
        $postproduct->active_to = '2025-07-31';
    }else{
        $postproduct->active_to = $_POST['active_to'];
    }
Run Code Online (Sandbox Code Playgroud)

Amb*_*ber 5

因为YYYY-MM-DD格式在使用字符串比较时会以相同的顺序排序.

如果您使用DD-MM-YYYY格式化,那么它就不会起作用.同样,如果你正在使用YYYY-MD格式(这里不需要前导零),它也不会工作(因为"2010-5-10" "2010-12-10"字符串排序).

"2010-10-05"大于,"2000-10-05"因为2010> 2000,但因为"20"= "20""1"> "0".两个字符串之间不同的第一个字符恰好按正确的顺序排序.