Problemas con script para cambio de css

Muy buenas.
tengo este script que ya use hace tiempo y con el cual cambiaba el fondo de mi web a determinadas horas.
<script language="JavaScript">
 function css(){
   fecha = new Date();
   hora = fecha.getHours();
    
   if(hora>=19 && hora<=8){//css desde la 19pm hasta las 8am
	  document.getElementById('noche').href='css/style_noche.css';
   }
   }
</script>

<body onLoad="inicio(); css()">
y la hoja de estilos que debe de cargar es la siguiente.
<link rel="stylesheet" href="css/style_noche.css" id="noche" />

Alguien sabria decirme el por que no carga la hoja de estilos?
Un saludo y gracias
Muy buenas.
Cree este post en el foro general, pero no encontre ayuda ni la posibilidad tampoco de contactar con nadie para poder moverlo a esta sección en la que considero que seria más correcta su huvicación.
Lo que teoricamente deberia hacer es apartir de las 7 de la tarde cargue una hoja de estilos determinada con una ID y fuera de ese horario cargue otro css.

Espero podais ayudarme por favor!!
Amigo paxarin, ya tienes los 2 temas combinados, para la próxima me contactas y lo arreglamos. Saludos.
Moderación escribió:Amigo paxarin, ya tienes los 2 temas combinados, para la próxima me contactas y lo arreglamos. Saludos.
Perdon!
No sabia con quien contacta.
Un saludo y disculpa
No necesitas disculparte solo que con todo gusto, cuando necesites algo, regularmente por no decir a diario ando por aquí. Je, je.
Moderación escribió:No necesitas disculparte solo que con todo gusto, cuando necesites algo, regularmente por no decir a diario ando por aquí. Je, je.

Ok, si es por que estoy desesperado con esta puta mierda!!
Que deberia de funcionar y no se por que no!!
Hola Paxarin, acabo de conseguir que funcione cambiandote un poco el código. He usado JS no intrusivo así que te dejo el head del html y el scripts.js.

HTML

<head>
	
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Cambio de Hoja de estilos</title>
    
    <script type="text/javascript" src="scripts.js"></script>
	
</head>

SCRIPTS.JS
window.onload = function() {
    
    var horario = new Date;
    
    var hora = horario.getHours();
    
    var header = document.getElementsByTagName('head');
    var headID = header[0];
    var cssNode = document.createElement('link');
    
    if (hora > 18 || hora < 8) {
        
        cssNode.type = 'text/css';
        cssNode.rel = 'stylesheet';
        cssNode.href = 'estilonoche.css';
        cssNode.media = 'screen';
        headID.appendChild(cssNode);
        
    } else {
        
        cssNode.type = 'text/css';
        cssNode.rel = 'stylesheet';
        cssNode.href = 'estilodia.css';
        cssNode.media = 'screen';
        headID.appendChild(cssNode);
        
    }
    
    
};

Las hojas de estilo las crea "al vuelo" cuando se carga la página. Espero que te sirva, ya me contarás.

Un saludo!
Aclaro lo de antes:

Las hojas de estilo NO las crea al vuelo. Lo que crea al vuelo son los enlaces a esas hojas de estilo :)

Ya me cuentas qué tal!

Por cierto, no te olvides cambiar el nombre de las hojas de estilo en el script. Yo lo he hecho con estas de prueba... Y ponle las horas a las que tú quieras que cambie.