Para trabajar con fechas y con horas en un script, o en la consola, tenemos el comando date. Veamos su uso y algunos de sus parámetros más usuales.
Si únicamente escribimos date, nos devuelve el día de la semana indicado con tres caracteres; el mes, indicado de nuevo con tres caracteres; la hora completa con hora, minutos y segundos; el huso horario de nuestro ordenador y el año actual.
Parámetros usuales:
date +%H -> indica la hora (sin minutos) actual
date +%M -> indica los minutos actuales
date +%H:%M -> indica la hora y minutos actuales
date +%d -> indica qué día del mes es hoy
date +%m -> indica el mes actual en número
date +%B -> indica el mes actual en letras, con la palabra completa
date +%Y -> indica el año actual
Ejemplo:
echo "Hoy es el "$(date +%D)" de "$(date +%B)" de "$(date +%y)
Puede que te preguntes si te tienes que aprender todas esas opciones para hacer un uso eficaz de date. No. No hace falta. GNU/Linux es un sistema que permite optimizar todos los recursos... incluída la memoria de los usuarios. Con un sencillo script, podemos indicarle a un array que incluya las letras mayúsculas, a otro que incluya las minúsculas, concatene ambos arrays y lo recorra devolviendo el restultado de pasarle esos parámetros a date.
Hecho esto, lo ejecutamos y vemos qué parámetros son los que más nos interesan... incluso vemos qué letras no son parámetros de date.
Aquí dejo el script:
#!/bin/bash
minusculas=({a..z})
mayusculas=({A..Z})
letras=($(echo ${minusculas[*]}) $(echo ${mayusculas[*]}))
for i in $(seq 0 ${#letras[*]})
do
echo "date +"${letras[$i]}"%: "$(date +%${letras[$i]})
done