lascia perdere le ultime cose dette, oggi con il computer alla mano ho controllato ed ho fatto una prova e pare funzionare:



codice:
<script type="text/javascript">

            $(document).ready(function() {


               var h = new Date().getHours(); //h interpreta la data attuale e prende la funzione getHours
               var m = new Date() .getMinutes(); //h interpreta la data attuale e prende la funzione getHours
               var divs = $('.timeofday-bg'); //assume lo sfondo neutro di div


            if (h >= 6 && h <= 12 && m <= 30) //se l'ora è uguale o superiore alle sei o uguale o inferiore alle 12 ed i minuti uguali o inferiori a 30 assumi sfondo mattina
                 {
                    divs.addClass('morning-bg');
                 }
               else //se l'ora non corrisponde ai dati scelti
                {


                   divs.addClass('twilight-bg'); //assumi sfondo twilight
                }
            });






    </script>
Questo è con due orari, ovviamente lo puoi strutturare con le varie fasce orario utilizzando else if come nel tuo primo caso :-)