Date
# Date

El comando date es un comando existente en sistemas Unix y tipo unix que muestra la hora y la fecha del sistema y el administrador también puede cambiarla.

Este comando apareció en la primera versión de Unix.

También cabe destacar que, debido al método de contar el tiempo, las versiones de este programa de 32 bits sufren del error del año 2038. Las versiones de 64 bits no sufren este problema.

## Uso

### Opciones

La única opción que reconoce la Single Unix Specification es -u, que sirve para mostrar o establecer la hora en UTC.

Otras opciones son -d, -f, -r, -R, -s y -u que son reconocidas en la mayoría de las implementaciones.

### Formato

El formato se realiza anteponiendo + a la opción de formato.

* %c representación local fecha (martes 27 de enero 19:24:43 CET 2015)
* %d día del mes (01 .. 31)
* %D fecha (dd / mm / aa)
* %m Indica el mes (01). También puede escribirse en mayúsculas.
* %j días del año (001 .. 366)
* %p indicador AM y PM en mayúsculas (en blanco en muchas configuraciones locales)
* %r tiempo de 12 horas (hh: mm: ss [AP] M)
* %R tiempo de 24 horas (hh: mm)
* %s segundos desde unix epoch
* %S segundos (00 .. 60), el 60 si es necesario para un segundo intercalar
* %t un tabulador horizontal
* %T hora en formato 24 horas (hh: mm: ss)
* %y año en 2 dígitos (00 .. 99)
* %Y año (2012)
* %Z zona horaria (ejemplo GMT), o nada si no se puede determinar la zona horaria

Supongamos que deseo obtener esto 17:21:54 27/01/2015 CET

Si escribimos date +%T obtendremos la hora con el formato 17:21:54

Veamos que hemos hecho en nuestro terminal.

Si escribimos date +%T%t%d/%m/%Y obtendremos la hora con el formato 17:21:54 del paso anterior, al que hemos agregado una tabulación ( %t ), y después hemos incluido la fecha con el formato 27/01/2015, a continuación lo explicaré, pero antes veamos que hemos hecho en nuestro terminal.

La fecha que hemos obtenido es 27/01/2015, que se compone de %d, el día / nuestro separador entre día y mes %m es el mes / separador de mes y año %Y que es el año en formato 2015<basies kska,zo qkkska oqs iqsk ioqikmsoc ap qpsmcoqpslcm qowd q br />

Finalmente, y para los más puntillosos o para quienes así lo piden sus circunstancias, haremos que nuestro terminal indique también la franja horaria, y por una mejor estética estará separada por una tabulación %t, y por supuesto añadimos %Z, que es la instrucción final que daremos para que muestre la franja horaria

Veamos ahora todo en nuestro terminal...

## Ejemplos

Mostrar la fecha:

Mostrar la fecha en UTC:

Mostrar los segundos transcurridos entre unix epoch:

Mostrar la fecha como en el procedimiento de la explicación anterior.

