What does "not seem to work" mean? What happens?
Edit: Seems to work for me:
$Today = mktime(0, 0, 0, date('n'), date('j'), date('Y'));
$test_date = new DateTime(date('Y-m-d', $Today), new DateTimeZone('America/Toronto'));
echo $test_date->format('Y-m-d H:i:s');
//Outputs 2013-01-21 00:00:00
That is midnight of today, is it not?