Forum: Rails Germany intersect zwischen zwei datum-ranges

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Markus K. (Guest)
on 2008-10-04 04:14
(Received via mailing list)
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
Jan P. (Guest)
on 2008-10-04 17:41
(Received via mailing list)
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. <removed_email_address@domain.invalid>

>       @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
Markus K. (Guest)
on 2008-10-04 23:59
(Received via mailing list)
ich probier gleich mal aus, ob das so läuft, danke schon mal vorweg!
lg markus

Jan P. schrieb:
This topic is locked and can not be replied to.