为什么我在以下情况下没有得到正确的日期比较结果?

时间:2013-12-20 07:04:56

标签: php date unix-timestamp strtotime date-comparison

我的代码如下:

if(!empty($form_data["birth_date"])){
          $date1   = date('d/m/y');

          $tempArr = explode('/', $form_data["birth_date"]);
          $date2   = date("d/m/y", mktime(0, 0, 0, $tempArr[1] ,$tempArr[0], $tempArr[2]));

        }

if(strtotime($date2) >= strtotime($date1)) 
          echo "Please enter date which is not greater than today's date!!!";

即使输入的日期少于今天的日期,我也会收到错误消息。我正在使用dd / mm / yyyy格式。有人可以帮我吗?提前谢谢。

$date1 = 20/12/2013;

$date2 = 21/03/1985;

2 个答案:

答案 0 :(得分:3)

strtotime函数用于日期格式YYYY / MM / DD所以请转换日期格式,然后应用strtotime()并比较两个日期

答案 1 :(得分:0)

使用DateTime功能。试试这样:

$date1 = new DateTime("now");
$date2 = new DateTime("12/12/2013 21:00:02");

var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);

输出:

bool(false)
bool(true)
bool(false)