Intersect zwischen zwei datum-ranges

Hi,
ich hab da nen kleines Problem:
ich habe zwei ranges von Daten(objekten, gleiches format), zum beispiel
1.10.2008 und 20.10.2008 und 5.10.2008 und 7.10.2008. ich möchte die
beiden ranges über to_a oder anders miteinander “intersecten”. Hat
jemand eine Praktikable Lösung dafür? Ich sitze hier schon seid einem
Tag dran. Ich scheiter schon daran, eine Range aus daten in ein Array
zu überführen.
exemplarisch:
(e.Eventstart.send(:to_datetime)…e.Eventend.send(:to_datetime)).each do
|d|
@s_one<< d
end
wenn ich jetzt statt d “d” in das array schreibe, kommt auch die
richtige anzahl von tagen raus… aber rails stellt sich quer das datum,
egal ob mit stringkonvertierung oder ohne, in das array zu schreiben.
lg Markus

Hi Markus,
ist dies was Du suchst?

ruby script/console
Loading development environment (Rails 2.1.0)

first_range = (Date.new(2008, 10, 1)…Date.new(2008, 10, 20))
=> Wed, 01 Oct 2008…Mon, 20 Oct 2008
second_range = (Date.new(2008, 10, 5)…Date.new(2008, 10, 7))
=> Sun, 05 Oct 2008…Tue, 07 Oct 2008
intersection = first_range.to_a & second_range.to_a
=> [Sun, 05 Oct 2008, Mon, 06 Oct 2008, Tue, 07 Oct 2008]
second_range = (Date.new(2008, 10, 19)…Date.new(2008, 10, 25))
=> Sun, 19 Oct 2008…Sat, 25 Oct 2008
intersection = first_range.to_a & second_range.to_a
=> [Sun, 19 Oct 2008, Mon, 20 Oct 2008]

Besten Gruß

Jan

2008/10/4 Markus K. [email protected]

  @s_one<< d


Jan P.
Rechtsanwalt

Babendiekstraße 60 B
22587 Hamburg
Tel +49 (0)40 41265809 Fax +49 (0)40 380178-73022
Mobil +49 (0)171 3516667

ich probier gleich mal aus, ob das so läuft, danke schon mal vorweg!
lg markus

Jan P. schrieb: