दिलचस्प पोस्ट
लोग C ++ में इतना क्यों __ (डबल अंडरस्कोर) का उपयोग करते हैं मैं स्थापित SQL सर्वर उदाहरणों और उनके संस्करणों को कैसे निर्धारित कर सकता हूं? PHP में उपयोगकर्ता के सही आईपी पते को पुनर्प्राप्त करने का सबसे सटीक तरीका क्या है? पायथन और फ्लास्क का उपयोग कर अनुरोध चर के मान कैसे प्राप्त करें ईएल अभिव्यक्ति की भाषा में दो ऑब्जेक्ट व्हेरिएबल्स की तुलना कैसे करें? <Section> और <div> के बीच अंतर क्या है? पृष्ठभूमि में कुंजीपटल और मांग पर आग कीस्ट्रोक्स कैसे सुनें? कैसे एक स्ट्रिंग को कई स्ट्रिंग्स को विभाजित करके कम से कम एक स्पेस में विभाजित किया जाता है? मैक्स फाइल नंबर एक ही समय में php अपलोड कर सकता है SQLAlchemy: फ्लश () और प्रतिबद्ध () के बीच अंतर क्या है? कैसे एक सी मैक्रो के मूल्य से एक चार तार बनाने के लिए? जावास्क्रिप्ट में शब्द कटाई के बिना स्ट्रिंग को छोटा करें एंड्रॉइड मैप्स एपीआई v2 MyLocation आइकन बदलें jQuery सेट चुनें सूचकांक TypeError: एक सूची तक पहुंचने का प्रयास करते समय 'सूची' ऑब्जेक्ट कॉल करने योग्य नहीं है

रेल में सक्रिय रिकॉर्ड के लिए डिफ़ॉल्ट समयक्षेत्र कैसे बदल सकता है?

मेरे application.rb मैं निम्नलिखित टिप्पणी पर आया था

 # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Eastern Time (US & Canada)' 

जैसा कि आप ऊपर से देखते हैं, मैंने config.time_zone को EST समय के लिए बनाया है। हालांकि, जब भी रिकॉर्ड्स डीबी में बनाए जाते हैं, ऐसा लगता है कि यूटीसी प्रारूप में datetime को संग्रहित किया जा रहा है।

उपरोक्त टिप्पणी में, वे कहते हैं

… और इस क्षेत्र में सक्रिय रिकॉर्ड ऑटो-कन्वर्ट करें …

मैं ऐसा कैसे कर सकता हूं, और कहां?

इसके अलावा, मैं इसके साथ ही हीरोोकू पर भी तैनात करूँगा और मुझे यह सुनिश्चित करना होगा कि वे आगे बढ़ें

वेब के समाधान से एकत्रित समाधान "रेल में सक्रिय रिकॉर्ड के लिए डिफ़ॉल्ट समयक्षेत्र कैसे बदल सकता है?"

application.rb करने के लिए निम्नलिखित को जोड़ने। application.rb काम करता है

  config.time_zone = 'Eastern Time (US & Canada)' config.active_record.default_timezone = :local # Or :utc 

मैंने यह जवाब संकलित करने का फैसला किया है क्योंकि सभी दूसरों को अधूरे लगते हैं

config.active_record.default_timezone यह निर्धारित करता है कि क्या समय.लोकल (यदि यह निर्धारित किया जाता है: स्थानीय) या टाइम.उत्तें (यदि पर सेट होता है: यूटसी) डाटाबेस से दिनांक और समय खींचते हैं या नहीं। डिफ़ॉल्ट है: utc http://guides.rubyonrails.org/configuring.html


यदि आप रेल समय क्षेत्र बदलना चाहते हैं, लेकिन UTC में डेटाबेस में सक्रिय रिकॉर्ड सहेजना जारी रखें, तो उपयोग करें

 # application.rb config.time_zone = 'Eastern Time (US & Canada)' 

यदि आप रेल टाइमज़ोन को बदलना चाहते हैं और इस समय क्षेत्र में सक्रिय रिकॉर्ड स्टोर के समय उपयोग करना चाहते हैं, तो उपयोग करें

 # application.rb config.time_zone = 'Eastern Time (US & Canada)' config.active_record.default_timezone = :local 

चेतावनी : आपको गैर-यूटीसी प्रारूप में डाटाबेस में समय बचाने से पहले, दो बार, तीन बार भी सोचना चाहिए।

ध्यान दें
Application.rb संशोधित करने के बाद अपने रेल सर्वर को पुन: प्रारंभ करने के लिए मत भूलें।


याद रखें कि config.active_record.default_timezone केवल दो मान ले सकता है

  • : स्थानीय ( config.time_zone में निर्धारित समयक्षेत्र में config.time_zone )
  • : यूटीसी (UTC के लिए धर्मान्तरित)

यहां बताया गया है कि आप सभी उपलब्ध समयक्षेत्र कैसे प्राप्त कर सकते हैं

 rake time:zones:all 

मैं बहुत ही पीड़ा के बाद डीन पेरी के रूप में एक ही निष्कर्ष पर आया था config.time_zone = 'Adelaide' और config.active_record.default_timezone = :local जीतने वाला संयोजन था। इस प्रक्रिया के दौरान मुझे क्या मिला है

मेरे मामले में (रेल 5), मैंने अपने app/config/environments/development.rb में इन 2 लाइनों को जोड़ना समाप्त कर दिया

 config.time_zone = "Melbourne" config.active_record.default_timezone = :local 

बस! और यह सुनिश्चित करने के लिए कि मेलबर्न ठीक से पढ़ा गया था, मैंने अपने टर्मिनल में कमांड चलाया था:

bundle exec rake time:zones:all

और मेलबॉर्न मैं उस समय के क्षेत्र में सूचीबद्ध था जो मैं कर रहा हूँ!

अगर आप विश्व स्तर पर यूटीसी के लिए समयक्षेत्र निर्धारित करना चाहते हैं, तो आप रेलवे 4 में निम्न कार्य कर सकते हैं:

 # Inside config/application.rb config.time_zone = "UTC" config.active_record.default_timezone = :utc 

अपने आवेदन को फिर से शुरू करना सुनिश्चित करें या आप परिवर्तन नहीं देखेंगे।

रेल 4.2.2 पर, application.rb और config.time_zone='city' उपयोग करें (उदाहरण: 'लंदन' या 'बुखारेस्ट' या 'एम्स्टर्डम' और इसी तरह)

यह सिर्फ ठीक काम करना चाहिए। यह मेरे लिए काम किया

चीनी उपयोगकर्ता के लिए, बस आपको नीचे दो पंक्तियां जोड़ें config/application.rb :

 config.active_record.default_timezone = :local config.time_zone = 'Beijing' 

यदि आप सेट करने के लिए स्थानीय समय चाहते हैं, तो निम्न पाठ को application.rb में जोड़ें

 config.time_zone = 'Chennai' # WARNING: This changes the way times are stored in the database (not recommended) config.active_record.default_timezone = 'Chennai' 

फिर अपने सर्वर को पुनरारंभ करें