Citation:
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 ]]]]]]] )
mktime() retourne un timestamp UNIX correspondant aux arguments fournis. Ce timestamp est un entier long, contenant le nombre de secondes entre le début de l'époque UNIX (1er Janvier 1970 00:00:00 GMT) et le temps spécifié.
Les arguments peuvent être omis, de droite à gauche, et tous les arguments manquants sont utilisés avec la valeur courante de l'heure et du jour.
Donc, mktime convertit '2009-10-20' en un nombre, ce qui donne 2009, et considère qu'il s'agit du nombre d'heures. Donc tu te retrouves avec tes deux dates valant aujourd'hui à 2009h (ce qui donne à peu près aujourd'hui + un peu mois de 3 mois)