-3

我编写了以下代码来将变量中的日期与今天的日期进行比较。如果变量中的日期大于今天的日期,则应回显错误消息。但在我的情况下它不能正常工作。

$form_data['trans_date'] = '12-11-2014';//Date to be compared with today's date in mm-dd-yyyy format
if(strtotime(date('m-d-Y')) < strtotime($form_data['trans_date'])) {
        echo 'Error';
    } else {
        echo 'Success';
    }

实际上今天的日期是 2014 年 12 月 11 日,即 2014 年 12 月 11 日,我间接地将今天的日期与自身进行比较。所以我不应该收到错误消息,但我收到了错误消息。

我尝试通过打印时间戳值来调试代码,然后得到以下值:

Today's date 1413097200
Trans date 1415779200

实际上,由于 Trans Date 时间戳值略大于今天日期的时间戳值,因此错误即将到来。

但它不应该因为我比较的日期不大于今天的日期。

那么我应该如何解决这个问题呢?

4

1 回答 1

-1

这些值相差不大,而是一个月:

将时间戳转换回日期会产生:

Today:      Sun, 12 Oct 2014 07:00:00 GMT
Trans date: Wed, 12 Nov 2014 08:00:00 GMT

您的代码中的错误是 strtotime 需要“dmY”或“m/d/Y”。

于 2014-12-11T07:42:09.247 回答