On Feb 4, 2009, at 12:55 AM, Shankar Ganesh wrote:
> hi,
>
>   I've two dates say
>
>  input for example.,
>   date1 = '2009-01-02';
>   date2 = '2009-01-10';
>
>   Need to find date range array between date1 and date2.
>
> output for example.,
>     Array{
>     [0]=>'2009-01-02',
>     [1]=>'2009-01-03',
>     [2]=>'2009-01-04',
>     [3]=>'2009-01-05',
>     [4]=>'2009-01-06',
>     [5]=>'2009-01-07',
>     [6]=>'2009-01-08',
>     [7]=>'2009-01-09',
>     [8]=>'2009-01-10'
>     )
> Thanks in advance
> Shankar.


> From: Julian Leviston <[email protected]>
> Date: February 4, 2009 1:08:15 AM EST
> To: [email protected]
> Subject: [Rails] Re: Date Range Between Two Dates - NEED HELP
> Reply-To: [email protected]
>
>
> You can use Date ranges. If you have strings, you'll need to Parsedate
> them into dates first. String ranges won't understand date overflow
> (ie how many days in a month, months in a year etc.).
>
> ((1.year.ago.to_date)..(Date.today)).to_a.map{|x| x.to_s(:db)}
>
> Julian

Julian gave you almost everything.  Are you asking about "Parsedate"?

Try this:

require 'date'
date1 = Date.parse('2009-01-02')
date2 = Date.parse('2009-01-10')
(date1..date2).to_a

irb> puts (date1..date2).to_a
2009-01-02
2009-01-03
2009-01-04
2009-01-05
2009-01-06
2009-01-07
2009-01-08
2009-01-09
2009-01-10
=> nil

Or to make it even more clear, try 2009-02-25 to 2009-03-05

irb> puts (Date.parse('2009-02-25')..Date.parse('2009-03-05')).to_a
2009-02-25
2009-02-26
2009-02-27
2009-02-28
2009-03-01
2009-03-02
2009-03-03
2009-03-04
2009-03-05
=> nil

-Rob

Rob Biedenharn          http://agileconsultingllc.com
[email protected]



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to