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
-~----------~----~----~----~------~----~------~--~---