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 <julian@coretech.net.au>
Date: February 4, 2009 1:08:15 AM EST
To: rubyonrails-talk@googlegroups.com
Subject: [Rails] Re: Date Range Between Two Dates - NEED HELP
Reply-To: rubyonrails-talk@googlegroups.com
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
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
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
Rob@AgileConsultingLLC.com