Cálculo de una fecha en el futuro o el pasado

Bash:
Cálculo de una fecha en el futuro o el pasado

Cómo Hacerlo:

Aquí hay ejemplos de cómo calcular fechas en el futuro o pasado:

# Fecha de hoy
hoy=$(date '+%Y-%m-%d')
echo "Hoy es: $hoy"

# Calcula una fecha 5 días en el futuro
futuro=$(date -d "$hoy + 5 days" '+%Y-%m-%d')
echo "5 días en el futuro: $futuro"

# Calcula una fecha 5 días en el pasado
pasado=$(date -d "$hoy - 5 days" '+%Y-%m-%d')
echo "5 días en el pasado: $pasado"

Ejemplo de salida:

Hoy es: 2023-04-01
5 días en el futuro: 2023-04-06
5 días en el pasado: 2023-03-27

Profundización

Históricamente, calcular fechas era más complicado en versiones anteriores de Bash y sistemas Unix. date es un comando estándar en Unix y sistemas tipo Unix que se ha simplificado con el tiempo. El comando date con la opción -d (o --date) en GNU coreutils permite hacer aritmética de fechas fácilmente, incluyendo años bisiestos y cambios de mes.

Existen alternativas como dateutils, una biblioteca de herramientas que ofrece funciones más avanzadas para manejar fechas y tiempos si se necesita más complejidad.

Detalles de implementación:

  • Usar +%Y-%m-%d para obtener el formato de fecha estándar (año-mes-día).
  • Asegúrate de que la zona horaria esté correctamente configurada en el sistema para obtener resultados precisos.
  • Bash no tiene manejo integrado de fechas, por lo que dependemos de herramientas externas como date.

Ver También