दिलचस्प पोस्ट
मेरे पड़ोसियों की तुलना में मेरी पाठ्यचर्या अधिक क्यों है? कैसे एक Django ऐप के नाम को बदलने के लिए? सूची <string> सूची <int> को कैसे परिवर्तित करें? क्या किसी प्राकृतिक भाषा से तिथियों और समय को पार्स करने के लिए कोई अजगर पुस्तकालय है? क्यों ostream_iterator अपेक्षा के अनुरूप काम नहीं करता? स्प्रिंग क्वालिफायर और प्रॉपर्टी प्लेसहोल्डर तत्वों में रिक्त स्थान के साथ BASH सरणी ksoap2 org.xmlpull.v1.xmlpullparserexception अपेक्षित start_tag त्रुटि किसी एप्लिकेशन में कस्टम फ़ील्ड का समर्थन करने के लिए डिजाइन पैटर्न क्या हैं? JTextPane पर सिस्टम पुनर्निर्देशन पता लगाएँ कि एंड्रॉइड डिवाइस में इंटरनेट कनेक्शन है PHP मैं दो दशमलव स्थानों पर कैसे गोल करूं? चेतावनी डायलॉग के पीछे पृष्ठभूमि को धुंधला करें REST नेस्टेड संसाधनों के लिए सर्वोत्तम पद्धतियां क्या हैं एचटीएमएल पाठ इनपुट फ़ील्ड क्या मैं टाइप करता हूं?

क्यों नहीं config.time_zone` कुछ भी करने लगते हैं?

application.rb , यह कहते हैं:

निर्दिष्ट ज़ोन में Time.zone डिफ़ॉल्ट सेट करें और इस ज़ोन में सक्रिय रिकॉर्ड ऑटो-कन्वर्ट करें। समय क्षेत्र के नाम खोजने के लिए कार्यों की एक सूची के लिए "रेक-डी समय" चलाएं डिफ़ॉल्ट यूटीसी है

लेकिन config.time_zone = 'Central Time (US & Canada)' या config.time_zone = 'Eastern Time (US & Canada)' का कोई प्रभाव नहीं है – एक मॉडल में बनाया created_at फ़ील्ड को यूटीसी में सहेजा जा रहा है।

इस railsforum जवाब के अनुसार:

config.time_zone सिर्फ रेल जानता है कि आपका सर्वर इस समयक्षेत्र पर सेट है इसलिए जब वह डेटाबेस को दिनांक लिखता है तो उसे यूटीसी में ठीक से कनवर्ट कर सकता है।

अगर यह सच है, तो ऐसा क्यों है कि जब मेरा सिस्टम समय Pacific Time (US & Canada) और config.time_zone = 'Central Time (US & Canada)' या config.time_zone = 'Eastern Time (US & Canada)' , कि created_at समय सही यूटीसी है? क्या यह गलत नहीं होना चाहिए ?!

क्योंकि, यदि पीएसटी का समय 8 बजे है, तो ईएसटी 11 बजे और यूटीसी 4 बजे है। यह मानते हुए कि रेल समय आता Time.now , यह 8 बजे होगा। और हमने रेल को बताया कि सर्वर ईएसटी में है। इसलिए, 8 बजे तक ईस्ट टाइम होगा जब तक कि रेल का संबंध है और यूटीसी तो 5 बजे UTC होगा, जो गलत होगा (क्योंकि वास्तविक समय 8 बजे पीएसटी / 11 बजे ईएसटी है, जो 4 बजे यूटीसी है)

यहाँ क्या चल रहा है?

वेब के समाधान से एकत्रित समाधान "क्यों नहीं config.time_zone` कुछ भी करने लगते हैं?"

ये अवधारणाओं और चीजों की एक सूची है जो आपकी सहायता कर सकती हैं:

config.time_zone "सर्वर समय" सेट नहीं करता है, जो आमतौर पर आपके ऑपरेटिंग सिस्टम द्वारा नियंत्रित होता है

पल्स हमेशा आपकी तिथियों को डाटाबेस में यूटीसी में संग्रहीत करता है (जब तक कि आप कोई अलग सेटिंग बदल न दें)।

समय.आप अपने समय-क्षेत्र में आपके कंप्यूटर के लिए स्थानीय समय देता है और इसमें आपके ऑपरेटिंग सिस्टम से ऑफसेट स्थानीय टाइमज़ोन भी शामिल है, जिसका मतलब रूबी है और इसलिए रेलवे को स्थानीय स्तर को यूटीसी में बदलने का तरीका पता है। आप इसे सीधे irb का प्रयोग करके कोशिश कर सकते हैं, इसलिए कोई रेल पुस्तकालय लोड नहीं किया जाता है:

 ctcherry$ irb >> Time.now => Mon Feb 21 20:53:14 -0800 2011 >> 

यदि config.time_zone , या Time.zone सेट किया गया है, तो ईएसटी कहने के लिए, रेल ने उम्मीद config.time_zone है कि यदि आप एक समय-समय पर एट्रिब्यूट सेट करते हैं तो आप उस समय और तारीख के लिए निर्धारित समयक्षेत्र में हैं, इस मामले में ईएसटी यही कारण है कि आप अपने अंतिम उपयोगकर्ताओं के समयक्षेत्र के लिए समय.जोन सेट करते हैं, इसलिए वे अपने स्थानीय समय और तिथियों का उपयोग कर सकते हैं, और आप उन्हें अपने ActiveRecord मॉडलों में सीधे पास कर सकते हैं और रेल डेटाबेस में भंडारण के लिए इसे यूटीसी में परिवर्तित कर सकते हैं।

क्या उससे किसी भी तरह से सहायता मिलती है?

यूटीसी के अलावा कुछ और कुछ पाने के लिए आपको in_time_zone (यानी in_time_zone ) का उपयोग करना होगा।