En este tutorial, cubriremos los conceptos básicos de la date
comando.
La date
El comando 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 pasadas y futuras.
Usando la date
de Linux Comando #
La sintaxis para la date
El comando es el siguiente:
date [OPTION]... [+FORMAT]
Para mostrar la fecha y la hora actual del sistema con el formato predeterminado, invoque el comando sin opciones ni argumentos:
date
La salida incluye el día de la semana, el mes, el día del mes, la hora, la zona horaria y el año:
Sat Jun 1 14:31:01 CEST 2019
Opciones de formato de fecha #
La salida de la date
El comando se puede formatear con una secuencia de caracteres de control de formato precedidos por un +
señal. Los controles de formato comienzan con el %
símbolo y se sustituyen por sus valores.
date +"Year: %Y, Month: %m, Day: %d"
El %Y
el carácter será reemplazado por 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
- El nombre breve abreviado del día de la semana de la configuración regional (p. ej., Lun)%A
- El nombre completo abreviado del día de la semana de la configuración regional (p. ej., lunes)%b
- Nombre abreviado del mes abreviado de la configuración regional (p. ej., enero)%B
- Nombre abreviado del mes largo de la localidad (p. ej., 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 (por ejemplo, 2019)
Para obtener una lista completa de todas las opciones de formato, ejecute date --help
o man date
en tu terminal.
Cadena de fecha #
El -d
opción le permite operar en una fecha específica. Puede especificar la fecha como una cadena de fecha legible por humanos, como se muestra 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 acepta valores como "mañana", "viernes", "viernes pasado", "próximo viernes", "próximo mes", "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 la hora local para diferentes zonas horarias. Por ejemplo, para mostrar la hora local a las 6:30 a. m. 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
Anular la zona horaria #
La date
El comando devuelve la fecha en la zona horaria predeterminada del sistema. Para usar una zona horaria diferente, configure la variable de entorno TZ
a la zona horaria deseada.
Por ejemplo, para mostrar la hora de Melbourne, Australia, escribiría:
TZ='Australia/Melbourne' date
Sat Jun 1 22:35:10 AEST 2019
Para enumerar todas las zonas horarias disponibles, puede enumerar los archivos en /usr/share/zoneinfo
directorio o use el timedatectl list-timezones
comando.
Convertidor de época #
La date
El comando se puede utilizar como un convertidor de época. Época, o marcas de tiempo de Unix, es la cantidad 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, invoque date
con el %s
control de formato:
date +%s
1559393792
Para convertir segundos desde la época hasta la fecha, configure los segundos como una cadena de fecha con el prefijo @
:
date -d @1234567890
Sat Feb 14 00:31:30 CET 2009
Usando date
con otros comandos #
La date
El comando se usa con mayor frecuencia para crear nombres de archivo que contienen la hora y la 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
También puedes usar la date
comando en sus scripts de shell. En el siguiente ejemplo, estamos asignando la salida de date
al date_now
variables:
date_now=$(date "+%F-%H-%M-%S")
echo $date_now
2019-06-01-15-02-27
Mostrar la hora de la última modificación de un archivo #
La date
comando con -r
La opción 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 touch
comando.
Establecer la hora y fecha del sistema #
Configuración manual de la fecha y la hora del sistema con date
No se recomienda el comando porque en la mayoría de las distribuciones de Linux, el reloj del sistema se sincroniza usando el ntp
o el systemd-timesyncd
servicios.
Sin embargo, si desea configurar el reloj del sistema manualmente, puede usar el --set=
opción. Por ejemplo, si desea establecer la fecha y la hora a las 5:30 p. m. del 1 de junio de 2019, debe escribir:
date --set="20190601 17:30"
Conclusión #
La date
de Linux El comando muestra o establece la fecha y la hora del sistema.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.