Hola.
Debería funcionarte. Igual ten en cuenta que es la hora del servidor que puede ser diferente a la hora local. Vamos a emprolijarlo un poco, y cambiarle las comillas que pueden ser el problema:
Código PHP:
<?php
$hour = date("H");
if($hour<12) $css="morning.css";
elseif($hour<20) $css="day.css";
elseif($hour<4) $css="night.css";
?>
<link rel="stylesheet" type="text/css" href="<?=$css?>" />
Luego debes crear tres archivos, morning.css, day.css y night.css.
Saludos!