Date, algunos conceptos y opciones para utilizar este comando en Ubuntu

about comando date

En el siguiente artículo vamos a echar un vistazo a algunos conceptos y opciones del comando date. Cuando los usuarios utilizamos una distribución Gnu/Linux tenemos a nuestra disposición un gran puñado de comandos. Con ellos vamos a poder obtener información sobre servicios, procesos, componentes del sistema y muchas otras cosas. Todos estos comandos se enfocan a posibilitar una correcta gestión administrativa y de soporte.

Uno de estos comandos disponibles es date. Este se utiliza para obtener la fecha y hora actuales del sistema o incluso para establecer la fecha del sistema. Aun que su uso más común es el de imprimir la fecha y la hora en diferentes formatos además de calcular fechas futuras y pasadas. En las siguientes líneas vamos a ver algunos conceptos básicos y opciones sobre el uso de este comando.

Artículo relacionado:
Vaciar caché de DNS de manera sencilla en Ubuntu

Usar el comando date en Ubuntu

Para empezar hay que decir que la sintaxis para el comando date es la siguiente:

date [OPCIÓN] ... [+FORMATO]

Si queremos ver la hora y fecha actuales del sistema utilizando el formato predeterminado, en una terminal (Ctrl+Alt+T) solo habrá que escribir:

comando date

date

La salida incluirá; el día de la semana, el mes, el día del mes, la hora, la zona horaria y el año.

Opciones de formato del comando date

La salida del comando date la vamos a poder formatear con una secuencia de caracteres para el control del formato precedidos por un signo +. Los controles de formato comienzan con el símbolo % y se sustituyen por sus valores correspondientes en la salida:

opciones del comando date

date +"Año: %Y, Mes: %m, Día: %d"

El carácter %Y se reemplazará con el año, %m con el mes y %d con el día del mes. Otro ejemplo de control del formato sería el siguiente:

otro ejemplo de opciones del comando date

date "+FECHA: %D%nHORA: %T"

A continuación veremos una pequeña lista de algunos de los caracteres de formato más comunes:

  • %a → Nombre abreviado del día.
  • %A → Nombre completo del día.
  • %b → Mes abreviado.
  • %B → Nombre del mes completo.
  • %d → Día del mes.
  • %H → Hora. De 00 a 23.
  • %I → Hora. De 01 a 12.
  • %j → Día numérico del año.
  • %m → Número de mes.
  • %M → Minutos.
  • %S → Segundos.
  • %u → Número de día de la semana.
  • %Y → Año completo.

Para obtener una lista completa de todas las opciones de formato, en la terminal podemos utilizar:

ayuda comando date

date --help

También podemos recurrir a la página man correspondiente:

man date

Cadena de fecha

La opción -d nos va a permitir utilizar una fecha específica. Vamos a poder especificar la fecha como una cadena de fecha legible para las personas:

fecha legible para humanos

date -d "19:47:47 2019-02-09"

También podemos utilizar el formato personalizado:

date string fecha personalizada

date -d '02 Feb 1982' +'%A, %d %B %Y'

La cadena también puede aceptar valores como; “tomorrow”, “friday”, “last friday” “next friday”, “next month”, “next week” ..etc.

date next month

date -d "next month"

Otra opción disponible será la de saber el día exacto de alguna fecha con la siguiente línea:

conocer el día de una fecha con el comando date

date -d "2019-06-28" +"%A"

Anular la zona horaria actual

Por defecto, el comando date hace uso de la zona horaria definida en el directorio /etc/localtime. La variable de entorno TZ (TimeZone) se puede usar para anular este comportamiento. Para usar una zona horaria diferente, se puede establecer la variable de entorno TZ en la zona horaria deseada.

Por ejemplo, para mostrar la hora de Kabul, Asia, debíamos escribir en la terminal (Ctrl+Alt+T):

anular zona horaria

TZ='Asia/Kabul' date

Para enumerar todas las zonas horarias disponibles podemos listar los archivos en el directorio /usr/share/zoneinfo o utilizar el comando timedatectl list-timezones.

zonas horarias disponibles

Cómo convertir epoch en una fecha Linux

El comando date se puede utilizar como un convertidor. Epoch o marcas de tiempo de Unix, es el número de segundos que han transcurrido desde el 1 de enero de 1970 a las 00:00:00 UTC.

Para imprimir el número de segundos desde aquella época hasta el día actual, no hay más que utilizar el control de formato %s:

convertidor época con date

date +%s

También podremos obtener los segundos hasta una fecha determinada:

date -d "2019-06-05" +"%s"

Para convertir los segundos hasta la fecha actual, no hay más que establecer los segundos como una cadena de fecha:

fecha desde convertidor époch

date -d @1559604647

Mostrar la hora de la última modificación de un archivo con date

Si utilizamos el comando date con la opción -r podemos obtener la hora de la última modificación de un archivo. Por ejemplo:

fecha de modificación de un archivo

date -r /etc/hosts

Si desea modificar la marca de tiempo del archivo, se puede utilizar el comando touch.

Establecer la fecha y la hora del sistema

Si se quiere configurar el reloj del sistema manualmente, se puede usar la opción “–set=”. Por ejemplo, si quisiésemos establecer la fecha y la hora a las 2:30 pm del 1 de julio de 2019, tendríamos que escribir:

date --set="20190701 14:30"

Por lo general, no se recomienda configurar la fecha y la hora del sistema manualmente con el comando date. En la mayoría de las distribuciones, el reloj del sistema se sincroniza mediante los servicios ntp o systemd-timesyncd.


Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.