Home » Php » PHP date time greater than today

PHP date time greater than today

Posted by: admin April 23, 2020 Leave a comment

Questions:

please help whats wrong with my code. it always shows that today is greater than 01/02/2016 ? where in 2016 is greater than 2015.

<?php
 $date_now = date("m/d/Y");

$date=date_create("01/02/2016");
$date_convert = date_format($date,"m/d/Y");

if ($date_now > $date_convert) {
        echo 'greater than';
    }else{
        echo 'Less than';
    }

P.S : 01/02/2016 is coming from my database

How to&Answers:

You are not comparing dates. You are comparing strings. In the world of string comparisons, 09/17/2015 > 01/02/2016 because 09 > 01. You need to either put your date in a comparable string format or compare DateTime objects which are comparable.

<?php
 $date_now = date("Y-m-d"); // this format is string comparable

if ($date_now > '2016-01-02') {
    echo 'greater than';
}else{
    echo 'Less than';
}

Demo

Or

<?php
 $date_now = new DateTime();
 $date2    = new DateTime("01/02/2016");

if ($date_now > $date2) {
    echo 'greater than';
}else{
    echo 'Less than';
}

Demo