Ruby ofrece varias formas de trabajar con fechas a través de las clases integradas Date
, Time
y la gema DateTime
. Estas clases permiten crear, manipular y formatear fechas, además de realizar cálculos útiles como sumas y restas de días, meses o años.
Date
La clase Date
es parte de la biblioteca estándar de Ruby, pero debe requerirse antes de usarse:
require 'date'
fecha = Date.new(2024, 9, 17) # Año, mes, día
puts fecha # Muestra: 2024-09-17
Para obtener la fecha actual en Ruby, puedes usar la clase Date
o Time
:
require 'date'
fecha_actual = Date.today
puts fecha_actual # Muestra la fecha de hoy
hora_actual = Time.now
puts hora_actual # Muestra la fecha y hora actuales
Puedes convertir una fecha a diferentes formatos usando el método strftime
. Esto permite mostrar las fechas en distintos estilos:
require 'date'
fecha = Date.new(2024, 9, 17)
formato = fecha.strftime("%d/%m/%Y") # Formato día/mes/año
puts formato # Muestra: 17/09/2024
Algunos de los formatos más comunes son:
%Y
: Año completo (ej. 2024)
%m
: Mes (01-12)
%d
: Día del mes (01-31)
%H
: Hora (24 horas)
%M
: Minutos
%S
: Segundos
Puedes realizar cálculos sencillos con fechas, como sumar o restar días, meses o años:
require 'date'
fecha = Date.today
nueva_fecha = fecha + 30 # Suma 30 días
puts nueva_fecha # Muestra la fecha 30 días después de hoy
fecha_menos_dias = fecha - 10 # Resta 10 días
puts fecha_menos_dias # Muestra la fecha 10 días antes de hoy
Puedes comparar dos fechas usando operadores de comparación (==
, >
, <
, etc.):
require 'date'
fecha1 = Date.new(2024, 9, 17)
fecha2 = Date.today
if fecha1 > fecha2
puts "La fecha 2024-09-17 es futura."
else
puts "La fecha 2024-09-17 ya ha pasado o es hoy."
end
DateTime
para manejar fechas y horas
Si necesitas manejar tanto fechas como horas de manera más precisa, puedes usar la clase DateTime
, que es parte de la biblioteca estándar:
require 'date'
fecha_hora = DateTime.now
puts fecha_hora # Muestra la fecha y hora actuales
formato = fecha_hora.strftime("%d/%m/%Y %H:%M")
puts formato # Muestra la fecha y hora en formato personalizado
Para más detalles sobre cómo trabajar con fechas en Ruby, visita la documentación oficial de Ruby.
Jorge García
Fullstack developer