Czy ktoś może wyjaśnić, w jaki sposób d1 jest większe niż d2? Są to te same cholerne daty (a przynajmniej tak do mnie patrzą).Testowanie obiektów ActiveSupport :: TimeWithZone dla równości
Loading development environment (Rails 3.0.8)
ruby-1.9.2-p180 :001 > d1 = Event.first.updated_at
=> Thu, 22 Sep 2011 02:24:28 PDT -07:00
ruby-1.9.2-p180 :002 > d2 = Time.zone.parse("2011-09-22T02:24:28-07:00")
=> Thu, 22 Sep 2011 02:24:28 PDT -07:00
ruby-1.9.2-p180 :003 > d1.class
=> ActiveSupport::TimeWithZone
ruby-1.9.2-p180 :004 > d2.class
=> ActiveSupport::TimeWithZone
ruby-1.9.2-p180 :005 > d1 > d2
=> true
ruby-1.9.2-p180 :006 >
W odniesieniu do moich specyficznych potrzeb aplikacyjnych ... Mam aplikację na iOS, która występuje z wnioskiem do aplikacji Moje Rails przekazując obiekt JSON, który, między innymi, zawiera NSDates w formacie „2011-09 -22T02: 24: 28-07: 00. " Próbuję porównać tę datetime z "updated_at", który jest typu ActiveSupport :: TimeWithZone.
Dzięki - WG
Tak, to jest to. Jaki byłby najlepszy sposób porównania tych dat, aby nie brać pod uwagę porównania? – wgpubs
Wypróbuj 'd1.to_i == d2.to_i'. http://www.ruby-doc.org/core/classes/Time.html#M000339 –