Я думаю, что самый простой метод:
for ($x = 12; $x <= 29; $x++) {
$H = $x % 24;
$ap = ($H < 12)? "AM" : "PM";
$h = $H % 12;
echo "<option value='".str_pad($H, 2, "0", STR_PAD_LEFT).":00:00'> "
.str_pad($h, 2, "0", STR_PAD_LEFT).":00 $ap</option>\n";
echo "<option value='".str_pad($H, 2, "0", STR_PAD_LEFT).":30:00'> "
.str_pad($h, 2, "0", STR_PAD_LEFT).":30 $ap</option>\n";
}