My code and yours, regarding the date, are exactly the same (Except for the $now = time();
which is unnecessary). To suppress the errors, you can use:
error_reporting(0);
How about try:
if((int)date('Ymd') === (int)date('Ymd', $this->airdate)) $dateFormat = 'g:ia';
elseif((int)date('Y') === (int)date('Y', $this->airdate)) $dateFormat = 'F jS - g:ia';
else $dateFormat = 'F jS, Y - g:ia';