If you are getting a negative answer to "now - then", then "then" is in the future.
To confirm, try echo $date
.
If the difference is fairly small, then it means your database and PHP processes are not using the same timezone. Be sure to set date_default_timezone_set
in PHP, and SET time_zone = ...
in MySQL, to the same identifier.