Calcular una fecha en el futuro o pasado

Ruby:
Calcular una fecha en el futuro o pasado

Cómo hacerlo:

Ruby hace que jugar con fechas sea pan comido. Usa la clase Date para manejos básicos o DateTime si necesitas más precisión con horas, minutos y segundos. Aquí te muestro cómo hacerlo:

require 'date'

# Sumar días a una fecha
hoy = Date.today
futuro = hoy + 10
puts futuro  # => YYYY-MM-DD

# Restar días a una fecha
pasado = hoy - 10
puts pasado  # => YYYY-MM-DD

# Para DateTime, también puedes sumar horas y minutos
ahora = DateTime.now
futuro_detallado = ahora + (60 * 60 * 24)  # Añade un día (en segundos)
puts futuro_detallado  # => YYYY-MM-DDTHH:MM:SS+ZZ:ZZ

Y así, puedes calcular fechas hacia adelante o atrás tan fácil como un paseo por el parque.

Profundizando:

Antes, calcular fechas era una tarea peliaguda que requería tablas y almanaques. Con la evolución de los lenguajes de programación, esto se ha simplificado enormemente. Ruby, en particular, ofrece una biblioteca estándar (date) que maneja muchas de las complejidades por nosotros.

Alternativas: Si Date y DateTime no cumplen con tus expectativas, siempre puedes usar gems como ActiveSupport::TimeWithZone si estás en un contexto de Rails, que añade métodos como days.from_now y days.ago.

Los detalles de implementación sobre las fechas en Ruby son importantes. Date y DateTime manejan años bisiestos, diferentes zonas horarias y hasta cambios históricos del calendario (como la adopción del calendario Gregoriano).

Ver También: