2011-09-22 13 views
10

क्या कोई बता सकता है कि डी 1 डी 2 से बड़ा कैसे है? वे एक ही लापरवाही तिथियां हैं (या कम से कम यह है कि वे मुझे कैसे देखते हैं)।परीक्षण सक्रिय समर्थन :: समानता के लिए टाइमविथज़ोन ऑब्जेक्ट्स

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 > 
के साथ मेरी विशिष्ट अनुप्रयोग आवश्यकताओं के संबंध

... मुझे लगता है कि एक JSON वस्तु है कि, अन्य मदों के बीच, 2011-09 की "प्रारूप में NSDates शामिल गुजर मेरी रेल आवेदन करने के लिए एक अनुरोध करता है या किसी iOS एप्लिकेशन है -22T02: 24: 28-07: 00 "। मैं उस डेटाटाइम की तुलना "अद्यतन_एट" के साथ करने की कोशिश कर रहा हूं जो कि ActiveSupport :: TimeWithZone प्रकार है।

धन्यवाद -

उत्तर

19

डब्ल्यू जी आप अपने घटना मॉडल में updated_at विशेषता सेकंड तुलना में एक उच्च परिशुद्धता है कि मिल जाएगा।

अपने-अपने समय वस्तुओं की मिलीसेकेंड हिस्सा outputting कोशिश:

puts d1.usec 
puts d2.usec 

काफी संभावनाएँ हैं पूर्व> 0 के बाद से यह स्वचालित रूप से स्थापित किया गया था, जब वस्तु कायम किया गया था, के बाद से तुमने किया था, जबकि दूसरा 0 के बराबर होगा किया जाएगा स्ट्रिंग में किसी भी मिलीसेकंड निर्दिष्ट न करें जिससे आपने इसे पार्स किया था।

+0

यूप यह है। इन तिथियों की तुलना करने का सबसे अच्छा तरीका क्या होगा ताकि तुलना में यह तथ्य न हो? – wgpubs

+6

'd1.to_i == d2.to_i' आज़माएं। http://www.ruby-doc.org/core/classes/Time.html#M000339 –