如何解决比较两个日期的问题


How to resolve the issue in comparing two dates?

我编写了以下代码来比较变量中的日期与今天的日期。如果变量中的日期大于今天的日期,则应回显错误消息。但就我而言,它无法正常工作。

$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';
    }
实际上今天的日期是12-11-2014,

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

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

Today's date 1413097200
Trans date 1415779200

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

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

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

这些值差异不大,但一个月不同:

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

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

代码中的错误是strtotime期望"d-m-Y"或"m/d/Y"。