2011-01-30 13 views
52

Sto provando a creare il mio calendario perché non riesco a ottenere alcun aiuto con il calendario degli eventi, quindi quello che sto cercando di fare è visualizzare il giorno della settimana, ad esempio .. 1 gennaio 2011 è un Sabato c'è un comando facile per ottenere quel giorno o devo qualcos'altroRails 3 Ricerca giorno della settimana

risposta

107

non puoi usare time.wday, 0 = domenica e così via

+2

che funziona anche meglio di Date :: DAYNAMES [mese] grazie per l'aiuto –

+2

@Rod significava Data: DAYNAMES [wday];) thx! – jobwat

+0

Perfetto !!! Grazie) –

4

Se si sta tentando di scrivere il proprio calendario da zero e vuoi scrivere una funzione per la ricerca giornaliera, potresti voler dare un'occhiata a Conway's Doomsday Algorithm, che è un metodo interessante per determinare il giorno della settimana in una data specifica. Altrimenti lo standard time class ha un metodo wday che restituisce un numero compreso tra 0 e 6 (0 è domenica, 1 è lunedì ecc.).

+1

ho trovato Date.today.beginning_of_month.wday funziona esattamente allo stesso modo per quello che stavo cercando, ma darò un'occhiata al tuo link solo per vedere se potrebbe rendermi la vita più facile. –

3

Possiamo utilizzare Time.now.utc.wday per ottenere il giorno della settimana senza considerare la zona.

139

È possibile anche ottenere la stringa, come "Mercoledì", usando time.strftime ("% A")

+14

questa dovrebbe essere la risposta accettata! –

+0

La migliore risposta! Grazie – Vlad

0

Entrambe queste opzioni vi darà la stringa giorno (ad esempio, "Sabato".) Per la data specificata:

data specifica:

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

Oggi:

Date.today.strftime('%A') 
Problemi correlati