मैं रेल में टाइमज़ोन के बारे में थोड़ा उलझन में हूं। मैं चाहता हूं कि मेरे रेल ऐप ने ब्रिटिश मॉड्यूल टाइम (यूएस में डेलाइट सेविंग की तरह) का इस्तेमाल किया है, जो कि मेरे मॉडल में अपडेट_ट और बनाई गई_टैट में सेट टाइमस्टैम्प के लिए है। मैं अपने environment.rb बदलरेल टाइमस्टैम्प सही समय क्षेत्र का उपयोग नहीं करते
config.time_zone = 'London'
ubuntu सर्वर पर समय आ गया है के लिए BST उपयोग करने के लिए लगता है मेरे ऐप है कहने के लिए: अगर मैं टाइप 'तारीख' मैं (वर्तमान समय मिलता है, उदाहरण के लिए कमांड लाइन में, एक घंटे तक ऑफसेट नहीं)। रेल कंसोल में, मैं निम्नलिखित देखता हूं:
>> time = Time.now
=> Wed Oct 27 16:29:17 +0100 2010
>> time.zone
=> "BST"
सभी ठीक है। हालांकि, अगर मैं एक नया एआर मॉडल ऑब्जेक्ट बनाता हूं और इसे सेव करता हूं, तो टाइमस्टैम्प एक घंटे पहले से हैं। तो, ऐसा लगता है कि यह यूटीसी का उपयोग कर रहा है। अब, मैं इसमें तर्क देख सकता हूं: चूंकि टाइमस्टैम्प मॉडल तर्क में उपयोग किया जा सकता है, इसलिए आप उन्हें एक अनजान यार्डस्टिक समय, यानी यूटीसी पर आधारित होना चाहते हैं।
#change a record and save it
>> someobj.save
=> true
#object's updated_at is one hour ago
>> someobj.updated_at
=> Wed, 27 Oct 2010 15:34:22 UTC +00:00
>> Time.now
=> Wed Oct 27 16:34:31 +0100 2010
#however, Time.now - object's updated at is just a few seconds.
>> Time.now - someobj.updated_at
=> 15.305549
तो, घटाव करने से पहले, updated_at वर्तमान समय क्षेत्र में बदल दिया है: लेकिन, इस व्यवहार का एक अजीब सा है कि मुझे समझ नहीं आता है।
कारण मैं वर्तमान समय क्षेत्र में दिनांक दिखाना चाहता हूं, केवल विचारों की स्थिति रिपोर्ट आदि के लिए है: यदि कोई ऐसा कुछ अपडेट करता है तो मैं उन्हें यह देखना चाहता हूं कि इसे '1 मिनट पहले' अपडेट किया गया था 'एक घंटा पहले नहीं' '।
क्या कोई मुझे अनवरोधित कर सकता है? चीयर्स, अधिकतम
संपादित करें: स्थिति में सही समय दिखाने का मेरा तत्काल समस्या, 'time_ago_in_words' सहायक का उपयोग करके हल की जाती है, जो समय क्षेत्र के लिए समायोजित होती है। मैं अभी भी किसी को यह समझाने के लिए पसंद करूंगा कि टाइमस्टैम्प के साथ क्या चल रहा है :)
आह - तो बढ़िया है। धन्यवाद! मैं मानता हूं कि यूटीसी में उन्हें सभी को समझना समझ में आता है। –
ठीक है, मुझे मिल गया। लेकिन अगर मैं डेटाटाइम पर लोकलटाइम प्रदर्शित करना चाहता हूं तो मेरे विचार पर चयन करें कि मैं क्या कर सकता हूं? – Diego
शायद स्थानीय समय ब्राउज़र समय पर सिस्टम समय मैप करने के लिए जावास्क्रिप्ट विधि का उपयोग करने का सबसे अच्छा तरीका है। हालांकि यह एक और सवाल है। – tadman