में परिवर्तित करने के लिए मुझे किसी दिनांक वस्तु को उस समय की शुरुआत का प्रतिनिधित्व करने वाले टाइमविथज़ोन ऑब्जेक्ट में कनवर्ट करना होगा।दिनांक ऑब्जेक्ट को टाइमविथज़ोन
निम्नलिखित दृष्टिकोण काम करता है, लेकिन बहुत जटिल लगता है के रूप में यह मेरे की आवश्यकता है एक स्ट्रिंग के लिए तिथि परिवर्तित करने के लिए:
?> date = Date.parse("2010-02-17")
=> Wed, 17 Feb 2010
>> ActiveSupport::TimeZone['Eastern Time (US & Canada)'].parse(date.to_s)
=> Wed, 17 Feb 2010 00:00:00 EST -05:00
>> ActiveSupport::TimeZone['UTC'].parse(date.to_s)
=> Wed, 17 Feb 2010 00:00:00 UTC 00:00
वहाँ एक बेहतर तरीका है मैं याद कर रहा हूँ है?
संपादित करें: के लोग सुझाव दे रहे हैं विविधताओं:
?> date.to_datetime.in_time_zone('Eastern Time (US & Canada)').beginning_of_day
=> Tue, 16 Feb 2010 00:00:00 EST -05:00
आप देख सकते हैं, इस एक बराबर रूपांतरण के बाद से यह मेरे फ़रवरी 16 वीं ईएसटी के शुरू में छोड़ देता है, की शुरुआत के बजाय नहीं है फरवरी 17 वीं ईएसटी।
ऐसा लगता है कि अपने समाधान की तरह जाने के लिए सही तरीका हो सकता है। –
मैंने इस मुद्दे को दूर करने के लिए अपनी प्रतिक्रिया संपादित की है। –
अपने आप को समाधान दें! =) समय क्षेत्र के साथ समय हमेशा गन्दा है। – John