Una función para saludar.
Solución
<script>
function saludar(){
var tiempo = new Date();
var hora, cad="son las ";
with (tiempo){
hora = getHours();
cad += hora + ":" + getMinutes()+":"+getSeconds();
}
if (hora < 12)
cad = "Buenos días, "+ cad;
else if (hora < 18)
cad = "Buenas tardes, "+ cad;
else
cad = "Buenas noches, " + cad;
return cad
}
document.write(saludar());
</script>
Explicación
En este ejemplo usamos el objeto Date para determinar la hora del día.
Se extrae la hora del objeto tiempo y construimos una cadena cad con la hora, minuto y segundo del día para el saludo.
La variable hora la comparamos con las 12 y las 18 mediante sentencias if...else anidadas.
Si es antes de las 12 (hora < 12) el saludo a escribir será la cadena "Buenos días, son las..." seguido de la hora completa que está almacenada en la variable cad.
Si no es antes de las 12 comprobamos si es antes de las 18 si es así la cadena es "Buenas tardes son las..."
Si no se da ninguno de los casos anteriores debe ser por la noche.
Observa el uso de la estructura with que permite trabajar con los elementos de un objeto sin tener escribir su nombre y el punto separador (tiempo.getDate() etc).
Observa también como modificamos la variable cad anteponiéndole al valor que guarda (la hora completa) el prefijo con el saludo adecuado.