Date

El comando Date nos ofrece muchas más posibilidades que darnos la fecha y la hora actuales, como por ejemplo:

Pasar de fecha a número de segundos desde la época

date --date='1970-01-01 00:00:01' +%s
1
date --date='2000-01-01 00:00:01 UTC' +%s
946684800

Pasar de segundos desde la época a fecha

date -d '1970-01-01 1 sec' +"%Y-%m-%d %T %z"
1970-01-01 00:00:01 +0100
date -d '1970-01-01 946684800 sec' +"%Y-%m-%d %T %z"
2000-01-01 00:00:00 +0000

Saber el día de la semana de una fecha

 date -d '2009-11-02' +%A
Lunes

Cuidado con los ceros delante de las fechas. Por ejemplo si te encuentras con este error: current month is 08 it gives me this error. value too great for base (error token is "08"), revisa la forma de obtener las fechas. (NOTA: lo del guión es válido para cualquier parámetro de fecha y hora).

date "+%-m"
9
date "+%m"
09

Para convertir segundos (por ejemplo timestamp) a un formato tipo HH:MM:SS (horas:minutos:segundos) podemos hacerlo:

date -d '1970-01-01 SEGUNDOS sec' +"%H:%M:%S"

Debemos sustituir SEGUNDOS por el número de segundos a convertir, por ejemplo, para convertir 73180 segundos:

date -d '1970-01-01 73180 sec' +"%H:%M:%S"
20:19:40

Retro

Lugares

Redes

Sistemas

Varios