किसी कारण से में विफल रहता है, तुलना हमेशा असफल, यह बाहर रेल कंसोल से जांचें:दिनांक समय तुलना रेल
irb(main):021:0> @game.game_date.class
=> ActiveSupport::TimeWithZone
irb(main):026:0> @game.game_date
=> Tue, 19 Feb 2013 23:15:00 UTC +00:00
irb(main):022:0> @game.game_date.to_datetime
=> Tue, 19 Feb 2013 23:15:00 +0000
irb(main):019:0> DateTime.now
=> Tue, 19 Feb 2013 23:48:38 +0330
irb(main):020:0> @game.game_date.to_datetime > DateTime.now
=> true
कैसे आ कि तुलना हमेशा गलत क्या है? मैं भी इस की कोशिश की:
@game.game_date.to_time > Time.now.to_tim
परिणाम के रूप में अच्छी तरह से सच था, जबकि यह स्पष्ट है कि यह 23:48> 23:15:00 के बाद से झूठा माना जाता है है।
कृपया ध्यान दें कि मैं गहरे लाल रंग का गहरे लाल रंग का उपयोग कर रहा हूँ 1.9.3p0 ubuntu और रेल 3.1
किसी भी मदद अत्यधिक सराहना की जाएगी
'@game.game_date.to_datetime> समय .zone.now' इसके बजाए (आपके टाइमज़ोन का उपयोग करके) – MrYoshiji
ने कोशिश की, वही परिणाम, जो सच है। Time.zone.now ने मुझे दिया (मंगलवार, 1 9 फरवरी 2013 20:47:24 यूटीसी +00: 00) और @ game.game_date.to_datetime (मंगलवार, 1 9 फरवरी 2013 23:15:00 +0000) –
डेटटाइम.now देता है आपके टाइमज़ोन में समय। तो इस मामले में टाइमज़ोन '+ 0330' है जिसका अर्थ है कि वर्तमान यूटीसी समय' मंगलवार, 1 9 फरवरी 2013 20:18:38 + 0000' होगा जो 'मंगल से कम है, 1 9 फरवरी 2013 23:15:00 + 0000' । –