Home > Comandos Avanzados, Linux > Comando date en Linux

Comando date en Linux

October 1st, 2013

Regla mnemotécnica

date: Fecha en ingles.

El comando date nos permite imprimir la fecha de hoy en muchísimos formatos. También nos permite extraer solo el día, mes, día de la semana, etc. Es útil en la ejecución de scripts pues nos permite saber cuando se ha ejecutado, por ejemplo si estos se ejecutan de forma automática en ciertas cirscustancias. Si lo ejecutamos sin argumentos nos imprime la fecha de hoy en formato largo.

$ date
mié sep 25 12:31:17 CEST 2013

Si queremos controlar el formato tenemos que usar una sintaxis tipo

$ date +formato

donde en formato tenemos muchas posibilidades. Algunas de ellas las indicamos en la siguiente tabla. No obstante, lo mejor para conocer todos los posibles formatos es usar el comando de ayuda man con man date que nos mostrará el manual de date.

%a Día de la semana abreviado (lun, mar, etc)
%A Día de la semana (lunes, martes, etc)
%b Més abreviado (ene, feb, mar, abr, etc
%e Día del mes (1,2,..,31)
%D Fecha en formato dd/mm/aa
%H Hora en formato 00,..,23
%M Minutos en formato 00,..,59
%T Hora completa en formato hh:mm:ss (24 horas)
%W Semana del año, el lunes el primer día (00,..,53)

Así por ejemplo:

#Manual de date
$ man date

#Diferentes comandos de date
$ date +%a
lun

$ date +%T
22:15:35

$ date +%H%M
2215

También se puede intercalar texto como en los siguientes ejemplos:

#Sin texto
$ date +%H%M
2215

#Con texto, no podemos incluir espacios en blanco
$ date +hora%Hdia%M
hora22dia15

#Pero podemos formatearlo mejor entrecomillando el texto
$date +"hora: "%H" - dia: "%M
hora: 22 - dia: 15

Se puede usar el comando date para indicarle una fecha específica con la opción -d como en los ejemplos:

#La fecha de ayer 
$ date -d yesterday
mar sep 24 12:31:17 CEST 2013

#La fecha de mi cumpleaños
$ date -d 02/17/76
mar feb 17 00:00:00 CEST 1976

$ date -d 02/17/76 +"Nací un "%A
Nací un martes

 

 

 

Comandos Avanzados, Linux

  1. October 5th, 2015 at 22:52 | #1

    Hola tengo un problema, hice un script con la fecha, al ejecutar %e, me da el número 1 (día del mes con un espacio en blanco). Que comando debo utilizar o debo programar para que quite el espacio en blanco.

    Gracias

  2. Edu
    October 6th, 2015 at 07:24 | #2

    @Nathya
    ¡Hola!
    No veo como hacerlo directamente con date, pero puedes usar tr para eliminar el espacio en blanco:

    date +%e |tr -d ” ”

    Un saludo,
    Edu.

  3. KAROL GARCIA
    May 12th, 2016 at 17:44 | #3

    hola,
    tengo un problema, estoy haciendo un script de agenda telefónica , y tengo que mostrar los contactos que fueron agregados después de una cierta fecha . que comando debo utilizzar para que se me muestren ?

    gracias

  4. Manuel
    August 14th, 2023 at 17:54 | #4

    Hola, Buenas Tardes.

    Necesito recuperar los milisegundos desde linux, tendras algun ejemplo?
    Gracias.

  1. No trackbacks yet.