चल रहा है asp.net MVC के 2 कन्वर्ट नहीं है। प्रपत्र पर यूआई jQueryUi डेटपिकर का उपयोग करता है (सुनिश्चित नहीं है कि वह maters)।TimeZoneInfo.ConvertTime मैं एक नियंत्रक कार्रवाई विधि है कि एक रूप से 2 दिनांक समय वस्तुओं को प्राप्त करता है .net 4.0</p> <p>साथ जीत 7 पर कुछ भी
वह उपयोगकर्ता जो उस फॉर्म को भरता है, हमेशा हवाईअड्डा समय क्षेत्र में दिनांक/समय दर्ज करेगा।
मैं इसे यूटीसी समय में परिवर्तित करना चाहता हूं और इसे डेटाबेस में संग्रहीत करना चाहता हूं।
जब मैं टाइमज़ोनइन्फो.कोनवरटाइम (डेटटाइम, टाइमज़ोनइन्फो, टाइमज़ोनइन्फो) को कॉल करता हूं तो यह वही डेटाटाइम देता है जैसा कि मैंने बिना रूपांतरण किए इसे पारित किया है। मैंने डीबगर की जांच की और केवल एक चीज जो बदली गई थी, उसने डेटटाइम को बदल दिया। संपत्ति को डेटटाइमकिंड.यूटीसी में बदलें।
public ActionResult New(ScheduleNew data){
TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time");
DateTime start = TimeZoneInfo.ConvertTime(data.StartDate, tz, TimeZoneInfo.Utc);
DateTime end = TimeZoneInfo.ConvertTime(data.EndDate, tz, TimeZoneInfo.Utc);
}
मैंने एक वैकल्पिक संस्करण के साथ-साथ एक ही परिणाम के साथ प्रयास किया है।
public ActionResult New(ScheduleNew data){
DateTime start = new DateTime(data.StartDate.Year, data.StartDate.Month, data.StartDate.Day, data.StartDate.Hour, data.StartDate.Minute, data.StartDate.Second, DateTimeKind.Unspecified);
DateTime end = new DateTime(data.EndDate.Year, data.EndDate.Month, data.EndDate.Day, data.EndDate.Hour, data.EndDate.Minute, data.EndDate.Second, DateTimeKind.Unspecified);
TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time");
StartDate = TimeZoneInfo.ConvertTime(start, tz, TimeZoneInfo.Utc);
EndDate = TimeZoneInfo.ConvertTime(end, tz, TimeZoneInfo.Utc),
}
ScheduleData दो दिनांक समय StartDate और EndDate बुलाया गुण के साथ सिर्फ एक सरल ViewModel वर्ग है।
मैं जोर देना चाहता हूं, मुझे परवाह नहीं है कि सर्वर कहां स्थित है, मुझे परवाह नहीं है कि उपयोगकर्ता कहां स्थित है। उपयोगकर्ता हमेशा हवाईयन समय क्षेत्र में समय दर्ज करेगा, और सर्वर हमेशा उस डेटाटाइम को यूटीसी में परिवर्तित करना चाहिए।
असल में जो मैं चाहता हूं, उपयोगकर्ता द्वारा प्रवेश करने के लिए 10 घंटे जोड़ना है (यूवीसी के लिए हवािया) और मैं इसे कॉल करके प्राप्त कर सकता हूं। एडहॉर्स (10) और यह ठीक होगा। लेकिन बाद में सड़क पर मुझे इस ऐप को अधिक लचीला होने की आवश्यकता होगी।
क्या आपने समस्या का समाधान किया? – Rory
डेटा का प्रकार क्या था। स्टार्टडेट? – Rory