ruby-on-rails - dell - numero settimana




Come ottengo una data da un numero di settimana? (2)

Voglio trovare tutti gli elementi creati in una determinata settimana e passare un numero di settimana param. (created_at è un timestamp normale).

Dato un numero di settimana, qual è il modo più semplice per trovare una data in quella particolare settimana? (Qualsiasi data nella settimana verrà eseguita, poiché userò begin_of_week e end_of_week nell'ambito).


Supponendo che tu intenda "un dato numero di settimana nell'anno corrente", puoi fare quanto segue:

2.weeks.since(Time.gm(Time.now.year))
=> Fri Jan 15 00:00:00 UTC 2010

Sostituisci (week_number - 1) per 1 in quanto sopra e riceverai una data nella settimana desiderata.


Puoi ottenere oggetti Data che rappresentano l'inizio e la fine della settimana utilizzando il metodo commercial :

week = 41;

wkBegin = Date.commercial(2010, week, 1)
wkEnd = Date.commercial(2010, week, 7)

Ora fai la tua ricerca:

  Item.find(:all, :conditions->:create_date=>wkBegin..wkEnd.end_of_day)




ruby