Use JavaScript para aplicar uma classe CSS para alterar a imagem de fundo de uma página com base na hora do dia do navegador do usuário.
$(document).ready(function(){
var d = new Date();
var n = d.getHours();
if (n > 19 || n < 6)
// If time is after 7PM or before 6AM, apply night theme to ‘body’
document.body.className = "night";
else if (n > 16 && n < 19)
// If time is between 4PM – 7PM sunset theme to ‘body’
document.body.className = "sunset";
else
// Else use ‘day’ theme
document.body.className = "day";
});
Aqui está uma demonstração de trabalho no codepen.io