ठीक है, तो मेरे पास एक वेब सर्वर है जो केंद्रीय मानक समय क्षेत्र में होस्ट किया गया है। आईआईएस सर्वर को उस समय क्षेत्र के रूप में कॉन्फ़िगर किया गया है, इसलिए जब भी सर्वर पर डेटटाइम.अब का उपयोग करें या एक नया डेटटाइम बनाएं जहां कि स्थानीय है, यह मध्य समय में है।नोडाटाइम का उपयोग करते हुए विशिष्ट समय क्षेत्र से यूटीसी तक डेटटाइम कनवर्ट करें?
मुद्दा यह है कि साइट एक (इंटर) राष्ट्रीय एप्लिकेशन है और मैं ग्राहकों को अमेरिका या कनाडा के भीतर कहीं भी रख सकता हूं। साइट्स में से एक चीज नियुक्तियों को शेड्यूल करने के लिए एक प्रकार का "शेड्यूलर" है। हमने यूटीसी प्रारूप में डेटाबेस पर सभी डेटटाइम मानों को स्टोर करने के लिए विकास की आसानी का निर्णय लिया और एपीआई के अंदर और बाहर सभी ट्रैफिक यूटीसी में भी हैं। समस्या यह है कि जब मैं सर्वर पक्ष पर दिनांक/समय मान बना रहा हूं तो मैं अक्सर समस्याओं में भाग ले रहा हूं।
उदाहरण के लिए कहें मुझे सर्वर पर प्रशांत मानक समय क्षेत्र में क्लाइंट के लिए 8 बजे के लिए प्रोग्रामेटिक रूप से नियुक्ति की आवश्यकता है। अतीत में, मैं इस तरह बातें किया है:
var appointment = new new DateTime(2015, 04, 17, 08, 00, 00, DateTimeKind.Unspecified)
var utcAppointment = TimeZoneInfo.ConvertTimeToUtc(appointment,
TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"))
मैं अन्य दिनांक/समय जोड़तोड़ के बहुत सारे के साथ-साथ भीतर मेरा कार्यक्रम करते हैं और बस के बजाय Nodatime के लिए जा रहा की सोच रहा हूँ। मुझे पता है कि मैं यूटीसी डेटटाइम को आसानी से एक नोडटाइम चर से बाहर प्राप्त कर सकता हूं। मैं इस बारे में उलझन में हूं कि विशिष्ट समय क्षेत्र के लिए किसी विशिष्ट समय क्षेत्र के लिए नोडटाइम चर कैसे बनाना है? मेरे द्वारा देखे जाने वाले सभी उदाहरणों को पैटर्न के साथ करना और तारों को पढ़ना या एक त्वरित बनाना है जो अनिवार्य रूप से "अब" है। मैं "बीईएल" की परवाह किए बिना मौजूदा बीसीएल डेटटाइम ऑब्जेक्ट लेने की तरह कुछ करना चाहता हूं, और इसे सेट किए गए विशिष्ट समय क्षेत्र के साथ इसे एक नोडटाइम ऑब्जेक्ट में परिवर्तित करना चाहता हूं।
मुझे लगता है कि नोडाटाइम एक महान पुस्तकालय है, लेकिन यूजरगाइड पढ़ने से मुझे बीसीएल में और बाहर परिवर्तित करने के बारे में अपने सिर को खरोंच कर दिया गया।
मैंने कुछ इसी तरह से पूछा [यहां] (http://stackoverflow.com/q/7553997/397817) लेकिन यह मूल रूप से नोडाटाइम प्रश्न नहीं था। इस प्रश्न के भावी पाठकों के लिए चर्चा उपयोगी हो सकती है। इसके अलावा मैं वेब एपीआई में नोडाटाइम प्रकारों का उपयोग करने के दूसरे जॉन स्कीट के सुझाव को भी उपयुक्त कर सकता हूं, जहां उपयुक्त हो, उदा। आपके शेड्यूल के समय के लिए एक स्थानीय समय - serialization, NodaTime.Serialization.JsonNet के लिए एक सहायक लाइब्रेरी भी है। –