में कनवर्ट किसी का स्थानीय समय। सर्वर नीदरलैंड में है, इसलिए हम utc + 1 (अब, डेलाइटविंगटाइम के साथ, utc + 2 में)मैं एक छोटे से समय क्षेत्र :)</p> <p>मैं UTC में समय के साथ संग्रहीत डेटा है में खो रहा हूँ UTC समय
अब एक ग्राहक कहता है: मुझे 5 अगस्त से डेटा दें।
तो मुझे 'अपने समय' से यूटीसी समय की गणना करना है। कि मुझे पता करने के लिए है:
अपने यूटीसी ऑफसेट क्या है (हम संग्रहीत है कि उनके प्रोफ़ाइल में, मान लें कि यूटीसी -6 हैं) daylightsavingtime में आप कर रहे हैं (क्योंकि तब हम +1 जोड़ और यूटीसी ऑफसेट करना है -5)
तो मेरे सवालों का:
मैं पूछ सकता हूँ नेट ढांचा: करता है देश XX daylightsavingtime है?
क्या मैं नेट फ्रेमवर्क पूछ सकता हूं: देश में 08-05-2010T00: 00: 00 देश में XXX डेलाइटविंगटाइम है?
मैं .ToLocalTime() की कोशिश कर रहा गया है, लेकिन यह सिर्फ मेरे सर्वर पर स्थानीय समय देता है, और है कि नहीं मैं क्या चाहते हो, मैं उपयोगकर्ता के समय क्षेत्र के साथ गणना करना चाहते हैं, और भी तथ्य यह है कि कुछ ही समय में है कि खास बिंदु पर, अगर वह/वह daylightsavingtime
में है के साथ मैं भी इस वीबी उदाहरण देखा है:
TimeZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time")
Dim Dated As DateTime = TimeZoneInfo.ConvertTimeToUtc(TempDate, TimeZone)
लेकिन imho इस खाते में नहीं ले करता है कि उपयोगकर्ता इस टाइमज़ोन में डेलाइटविंगटाइम (डीएसटी) देश में है या नहीं है। उदाहरण के लिए, इस टाइमज़ोन में एक उपयोगकर्ता डीएचटी वाले नीदरलैंड्स में है, और एक दूसरे दूसरे देश में है जिसमें कोई डीएसटी नहीं है।
संबंधित प्रश्न - http://stackoverflow.com/questions/2532729/daylight-saving-time-and-timezone-best-practices – Oded
महान संसाधन! – Michel