Time.current
अपने पार्स समकक्ष के बराबर क्यों नहीं है?उन दो डेटाटाइम अलग क्यों हैं?
current = Time.current
# Wed, 16 Sep 2015 17:10:56 CEST +02:00
parsed = Time.zone.parse('16 Sep 2015 17:10:56')
# Wed, 16 Sep 2015 17:10:56 CEST +02:00
current == parsed
# false <= What ?!
current.to_i == parsed.to_i
# true
Ticket.create(datetime: current)
# ...
Ticket.find_by_datetime(parsed)
# nil <= Why ?!
मैं वास्तव में एक रूबी ऑन रेल्स आवेदन जहां मैं एक datetime विशेषता है कि, पार्स किया गया है पिछले लाइनों पर दिखाया तरह के आधार पर एक रिकॉर्ड खोजने की कोशिश में यह समस्या आ रही है।
मुझे वास्तव में यह नहीं मिलता है। समय क्षेत्र समान हैं, समय सेकंड के समान ही होते हैं। यहाँ क्या हो रहा है?
इसके अलावा, मुझे एक पार्स किए गए डेटाटाइम के आधार पर रिकॉर्ड कैसे प्राप्त करना चाहिए?
आपके कंप्यूटर घड़ी में शायद उप-सेकंड सटीकता है ;-) (संकेत: 'to_f') – Stefan
धन्यवाद! ठीक है तो पार्स किए गए डेटाटाइम में उप-सेकेंड परिशुद्धता नहीं है। लेकिन फिर डेटाबेस में रिकॉर्ड लाने के लिए मुझे क्या करना चाहिए? –
या तो इसे डेटाबेस में सहेजने से पहले पूरे सेकंड में विशेषता को छोटा करें या पूरे श्रेणी को कवर करने वाली सीमा को पार करें: 'टिकट। कहीं (डेटाटाइम: पार्सड ... पार्सड + 1)' – Stefan