Date Range Between Two Dates - NEED HELP


#1

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.


#2

Shankar G. wrote:

hi,

Hello.

 Array{

Thanks in advance
Shankar.

I’m not entirely clear on what you’re looking for. If you already have
this data in an array, I suggest using select {}. I.e.

data.select {|x| x >= date1 and x<= date2 }

If you’re trying to fetch the data, perhaps you’re looking for
conditions. I.e.

conditions = [ ‘date_column > ? AND date_column < ?’, date1, date2 ]

Hope that helps.

Cheers,
Darrik


Darrik Mazey
Developer
DMT Programming, LLC.
P.O. Box 91
Torrington, CT 06790
office: 330.983.9941
fax: 330.983.9942
mobile: 330.808.2025
removed_email_address@domain.invalid

To obtain my public key, send an email to
removed_email_address@domain.invalid.


#3

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


#4

Julian L. wrote:

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

Thanks for your HELP.
can you explain with example Julian ?


#5

What do you mean?

Blog: http://random8.zenunit.com/
Learn rails: http://sensei.zenunit.com/

On 04/02/2009, at 5:23 PM, Shankar G.
<removed_email_address@domain.invalid


#6

On Feb 4, 2009, at 12:55 AM, Shankar G. wrote:

output for example.,
)
Thanks in advance
Shankar.

((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 B. http://agileconsultingllc.com
removed_email_address@domain.invalid