Вот что я использую для такого рода задач:
/** date comparator restricted by $format.
@param {int/string/Datetime} $timeA
@param {int/string/Datetime} $timeB
@param {string} $format
@returns : 0 if same. 1 if $timeA before $timeB. -1 if after */
function compareDates($timeA,$timeB,$format){
$dateA=$timeA instanceof Datetime?$timeA:(is_numeric($timeA)?(new \Datetime())->setTimestamp($timeA):(new \Datetime("".$timeA)));
$dateB=$timeB instanceof Datetime?$timeB:(is_numeric($timeB)?(new \Datetime())->setTimestamp($timeB):(new \Datetime("".$timeB)));
return $dateA->format($format)==$dateB->format($format)?0:($dateA->getTimestamp()<$dateB->getTimestamp()?1:-1);
}
сравнить день: $ формат = 'Y-m-d'.
сравнить месяц: формат $ = 'Y-m'.
и т.д ...
в вашем случае:
if(compareDates("now",'2011-02-12 14:44:00','Y-m-d')===0){
// do stuff
}