2011-01-30 25 views
52

Estoy tratando de hacer mi propio calendario porque parece que no puedo obtener ayuda con el calendario de eventos así que lo que intento hacer es Mostrar el día de la semana, es decir, el 1 de enero de 2011. el sábado es que hay un comando fácil de llegar ese día o necesito algo másRails 3 Encontrando el día de la semana

Respuesta

107

¿no puedes usar time.wday, 0 = Domingo y así sucesivamente

+2

que funciona incluso mejor que Date :: DAYNAMES [month] gracias por la ayuda –

+2

@Rod significó Date :: DAYNAMES [wday];) thx! – jobwat

+0

Perfecto !!! Gracias) –

4

Si usted está tratando de escribir su propio calendario desde cero y desea escribir una función para hacer la búsqueda del día, es posible que desee consultar Conway's Doomsday Algorithm, que es un método interesante para determinar el día de la semana en cualquier fecha determinada. De lo contrario, el standard time class tiene un método wday que devuelve un número de 0-6 (0 es domingo, 1 es lunes, etc.).

+1

he encontrado Date.today.beginning_of_month.wday funciona exactamente de la misma manera para lo que estaba buscando, pero voy a echar un vistazo a su enlace para ver si me puede hacer la vida más fácil. –

3

Podemos utilizar Time.now.utc.wday para obtener el día de la semana sin tener en cuenta la zona.

139

También puede obtener la cadena, como "Miércoles", usando time.strftime ("% A")

+14

¡esta debería ser la respuesta aceptada! –

+0

¡La mejor respuesta! Gracias – Vlad

0

Ambas opciones le dará la cadena día (por ejemplo, "Sábado".) Para la fecha especificada:

fecha específica:

Date.new(2011, 1, 1).strftime('%A') # returns "Saturday" 

Hoy:

Date.today.strftime('%A') 
Cuestiones relacionadas