Date.today .. ....?

Postrzebuje zakres od dzis do konca miesiaca jakies pomysly?

.find(:all, :conditions => { :date => Date.today … Date.today + 1.month })

to mi daje miesiac od dzis a jak dostac ten 30 kwietnia lu 31 maja ?

Dzieki wielki za odpowiedz
Pozdrawiam

http://www.google.pl/search?hl=pl&q=ruby+last+day+of+a+month&btnG=Szukaj&lr=

today = Date.today
endofmonth = Date.new(today.year, today.month+1) - 1.day
:slight_smile:

1 minuta z dokumentacją i script/console. Nie lepiej najpierw sprawdzić w dokumentacji języka i się pobawić? :slight_smile:
Kod paskudny, może ktoś ma bardziej zwięzły pomysł

EDIT: na końcu można dać samo -1 zamiast -1.day (aczkolwiek druga opcja jest czytelniejsza i bardziej kompatybilna po ewentualnej zamianie na Time :slight_smile: )

Dziekuje, pozdrawiam

.find(:all, :conditions => { :date =>  Date.today .. Date.today.end_of_month })

No i znowu pozamiatał. Denerwujesz mnie, Radarek :smiley:

Hehe, bez przesady. Akurat świtało mi w głowie, że taką operację na dacie spokojnie można zrobić w rails.
Btw, tak mi się przypomniało. Kiedyś na kanale #rubyonrails.pl z rozmów wynikło, że w rails 2.x poprawili następujący fakt:

[quote]# rails 2.x
?> Time.now.at_beginning_of_month + 1.month
=> Thu May 01 00:00:00 +0200 2008

Time.now.at_beginning_of_month + 2.month
=> Sun Jun 01 00:00:00 +0200 2008[/quote]

[quote]# rails 1.2.6

Time.now.at_beginning_of_month + 1.month
=> Thu May 01 00:00:00 +0200 2008
Time.now.at_beginning_of_month + 2.month
=> Sat May 31 00:00:00 +0200 2008[/quote]
W rails 1.2.x konstrukcja “1.month” zwracała po prostu liczbę sekund 30 dni, teraz zwraca jakiś zmodyfikowany fixnum, który dopiero po dodaniu do jakiejś daty doda odpowiednią ilość sekund. Myślę, że może komuś się przydać.