Una función para saludar.

Este programa hará que tu ordenador te salude educadamente dándote los buenos días, buenas tardes o buenas noches dependiendo de la hora que sea.

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.