zeller una tal semana saber que para naci meses fecha dias determinar como cayo calcular años algoritmo aleatoria ruby date

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"