Bienvenido/a
0412 523 4622 - 0273 514 7775

Comando de fecha de Linux con ejemplos

El comando de fecha muestra o establece la fecha del sistema. Se usa más comúnmente para imprimir la fecha y la hora en diferentes formatos y calcular fechas futuras y pasadas.

En este tutorial, cubriremos los conceptos básicos del comando date.

La sintaxis del comando date es la siguiente:

date [OPTION]... [+FORMAT]

 

Para mostrar la hora y fecha actuales del sistema utilizando el formato predeterminado, invoque el comando sin ninguna opción:

date

 

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

 

Sat Jun  1 14:31:01 CEST 2019

La salida de date puede formatearse con una secuencia de caracteres de control de formato precedidos por un signo +. Los controles de formato comienzan con el % símbolo y se sustituyen por sus valores.

date +"Year: %Y, Month: %m, Day: %d"

 

El personaje %Y será reemplazado con el año, %m con mes y %d con el día del mes:

Year: 2019, Month: 06, Day: 02

 

Aquí hay otro ejemplo:

date "+DATE: %D%nTIME: %T"

 

DATE: 06/02/19
TIME: 01:47:04

 

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

  • %a – Nombre abreviado corto del día de la semana de la localidad (por ejemplo, Mon)
  • %A – Nombre del día de la semana completo abreviado de la localidad (por ejemplo, lunes)
  • %b – Nombre abreviado del mes corto del local (por ejemplo, enero)
  • %B – Nombre del mes largo abreviado de la localidad (por ejemplo, enero)
  • %d – Día del mes (por ejemplo, 01)
  • %H – Hora (00..23)
  • %I – Hora (01..12)
  • %j – Día del año (001..366)
  • %m – Mes (01..12)
  • %M – Minuto (00..59)
  • %S – Segundo (00..60)
  • %u – Día de la semana (1..7)
  • %Y – Año completo (ej. 2019)

 

Para obtener una lista completa de todas las opciones de formato ejecutadas date --helpman date en su terminal.

La opción -d le permite operar en una fecha específica. Puede especificar la fecha como una cadena de fecha legible para las personas, como a continuación:

date -d "2010-02-07 12:10:53"

 

Sun Feb  7 12:10:53 CET 2010

Usando el formato personalizado:

date -d '16 Dec 1974' +'%A, %d %B %Y'

 

Monday, 16 December 1974

La cadena de fecha también puede aceptar valores como «mañana», «viernes», «viernes pasado», «viernes próximo», «mes próximo», «la próxima semana» ..etc.

date -d "last week"

 

Sat May 25 14:31:42 CEST 2019

 

También puede usar la opción de cadena de fecha para mostrar su hora local para diferentes zonas horarias. Por ejemplo, para mostrar la hora local a las 6:30 AM del próximo lunes en la costa este de Australia, debe escribir:

date -d 'TZ="Australia/Sydney" 06:30 next Monday'

 

Sun Jun  2 22:30:00 CEST 2019

El comando date utiliza la zona horaria predeterminada del sistema . Para usar una zona horaria diferente, establezca la variable de entorno TZ en la zona horaria deseada.

Por ejemplo, para mostrar la hora de Melbourne, Aus, debe escribir:

 

TZ='Australia/Melbourne' date

 

Sat Jun  1 22:35:10 AEST 2019

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

El comando date se puede utilizar como un convertidor de época. Época, 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 la época hasta el día actual, use el control %s de formato:

date +%s

 

1559393792

Para convertir segundos desde la época hasta la fecha, establezca los segundos como una cadena de fecha con el prefijo @:

date -d @1234567890

 

Sat Feb 14 00:31:30 CET 2009

El comando date se usa con más frecuencia para crear nombres de archivos que contienen la hora y fecha actuales.

El siguiente comando creará un archivo de copia de seguridad Mysql en el siguiente formato database_name-20190601.sql

mysqldump  database_name > database_name-$(date +%Y%m%d).sql

Dupdo

 

También puede utilizar el comando date en sus scripts de shell. En el siguiente ejemplo, asignamos la salida date a la variable date_now:

date_now=$(date "+%F-%H-%M-%S")

 

echo $date_now

 

2019-06-01-15-02-27

 

El comando date con la opción -r muestra la última hora de modificación de un archivo. Por ejemplo:

date -r /etc/hosts

 

Tue Jul 24 11:11:48 CEST 2018

 

Si desea modificar la marca de tiempo del archivo, use el comando touch .

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

Sin embargo, si desea configurar el reloj del sistema manualmente, puede utilizar la opción --set=. Por ejemplo, si desea establecer la fecha y la hora a las 5:30 pm del 1 de junio de 2019, debe escribir:

date --set="20190601 17:30"

A estas alturas ya debería tener una buena comprensión de cómo usar el comando de fecha de Linux.

Si tiene alguna pregunta o comentario, siéntase libre de dejar un comentario.