我已经编写了以下代码来比较变量中的日期和今天的日期。如果变量中的日期大于今天的日期,则应回显错误消息。但在我的情况下,它无法正常工作。
$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年11月12日,即2014年12月11日,我间接地将今天的日期与自己进行比较。所以我不应该收到错误消息,但我收到错误消息。
我尝试通过打印时间戳值来调试代码,然后我得到以下值:
Today's date 1413097200
Trans date 1415779200
实际上,由于Trans Date时间戳值略大于今天的时间戳值,因此错误即将来临。
但它不应该是因为我比较的日期不会超过今天的日期。
那么我应该如何解决这个问题?
答案 0 :(得分:-1)
您可以使用simplePHP类来比较日期:
include('../code/simpleDate.php');
$date = new simpleDate();
echo $date->set('2014-11-12')->compare('now')->isAfterOrEqual();
请检查tutorials page。
答案 1 :(得分:-1)
价值观略有差异但一个月不同:
将时间戳转换回日期会产生:
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'。