Pozwól, że zacytuję dokumentację : http://php.net/manual/en/function.mktime.php
funkcja przyjmuje takie oto parametry:
int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )
Z tego wynika, że ta funkcja nie przyjmuje jako parametr obiektu Date, ale integery.