ruby - una - como saber que dia cayo tal fecha?
¿Cómo se calcula el día de la semana de una fecha en rubí? (9)
¿Cómo se calcula el día de la semana de una fecha en rubí? Por ejemplo, el 28 de octubre de 2010 es = jueves
Bueno, nunca he codificado en ruby, pero un Google rápido da
time = Time.at(time) # Convert number of seconds into Time object.
puts time.wday # => 0: Day of week: 0 is Sunday
Como dijo @mway, puede usar date.strftime ("% A") en cualquier objeto Date para obtener el día de la semana.
Si tienes suerte, Date.parse
puede llevarte de String al día de la semana de una vez:
def weekday(date_string)
Date.parse(date_string).strftime("%A")
end
Esto funciona para tu caso de prueba:
weekday("October 28 of 2010") #=> "Thursday"
Eche un vistazo a la referencia de la clase Date . Una vez que tenga un objeto de fecha, simplemente puede hacer dateObj.strftime(''%A'')
para el día completo, o dateObj.strftime(''%a'')
para el día abreviado. También puede usar dateObj.wday
para el valor entero del día de la semana y usarlo como mejor le parezca.
En su objeto de tiempo, use la propiedad .wday para obtener el número que corresponde con el día de la semana, por ej. If .wday devuelve 0, entonces su fecha es domingo, 1 lunes, etc.
Funciona de la caja con rubí sin requerir:
Time.now.strftime("%A").downcase #=> "thursday"
Lo he usado porque odiaba ir a los documentos de Fecha para buscar la sintaxis strftime, no encontrarla allí y tener que recordar que está en Time docs.
require ''date''
class Date
def dayname
DAYNAMES[self.wday]
end
def abbr_dayname
ABBR_DAYNAMES[self.wday]
end
end
today = Date.today
puts today.dayname
puts today.abbr_dayname
Rápido, sucio y amigable con la localización:
days = {0 => "Sunday",
1 => "Monday",
2 => "Tuesday",
3 => "Wednesday",
4 => "Thursday",
5 => "Friday",
6 => "Saturday"}
puts "It''s #{days[Time.now.wday]}"
Supongamos que tengo date = Time.now.to_date
luego date.strftime("%A")
imprimirá el nombre para el día de la semana y tendrá solo el número para el día de la semana write date.wday
.
Date.today.strftime("%A")
=> "Wednesday"
Date.today.strftime("%A").downcase
=> "wednesday"