Compare given date with today Compare given date with today php php

Compare given date with today


strtotime($var);

Turns it into a time value

time() - strtotime($var);

Gives you the seconds since $var

if((time()-(60*60*24)) < strtotime($var))

Will check if $var has been within the last day.


That format is perfectly appropriate for a standard string comparison e.g.

if ($date1 > $date2){  //Action}

To get today's date in that format, simply use: date("Y-m-d H:i:s").

So:

$today = date("Y-m-d H:i:s");$date = "2010-01-21 00:00:00";if ($date < $today) {}

That's the beauty of that format: it orders nicely. Of course, that may be less efficient, depending on your exact circumstances, but it might also be a whole lot more convenient and lead to more maintainable code - we'd need to know more to truly make that judgement call.

For the correct timezone, you can use, for example,

date_default_timezone_set('America/New_York');

Click here to refer to the available PHP Timezones.


Here you go:

function isToday($time) // midnight second{    return (strtotime($time) === strtotime('today'));}isToday('2010-01-22 00:00:00.0'); // true

Also, some more helper functions:

function isPast($time){    return (strtotime($time) < time());}function isFuture($time){    return (strtotime($time) > time());}