strtotime поддерживает ряд интересных модификаторов , которые можно использовать:
$hour = 12;
$today = strtotime("today $hour:00");
$yesterday = strtotime("yesterday $hour:00");
$dayBeforeYesterday = strtotime("yesterday -1 day $hour:00");
echo date("Y-m-d H:i:s\n", $today);
echo date("Y-m-d H:i:s\n", $yesterday);
echo date("Y-m-d H:i:s\n", $dayBeforeYesterday);
Он работает как предсказано:
2011-01-24 12:00:00
2011-01-23 12:00:00
2011-01-22 12:00:00