मैं किसी भी समय क्षेत्र में समय में एक विशिष्ट पल व्यक्त करने के लिए डेटटाइम ऑफसेट का उपयोग करने की कोशिश कर रहा हूं। मैं डेलाइट बचत समय से निपटने के लिए TimeZoneInfo का उपयोग करने का तरीका नहीं समझ सकता।डेलाइट सेविंग्स टाइम के दौरान स्थानीय समय प्राप्त करने के लिए TimeZoneInfo का उपयोग कैसे करें?
var dt = DateTime.UtcNow;
Console.WriteLine(dt.ToLocalTime());
var tz = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
var utcOffset = new DateTimeOffset(dt, TimeSpan.Zero);
Console.WriteLine(utcOffset.ToOffset(tz.BaseUtcOffset));
यह बाहर प्रिंट:
6/2/2010 4:37:19 PM
6/2/2010 3:37:19 PM -06:00
मैं केंद्रीय समय क्षेत्र में हूँ, और और हम डेलाइट सेविंग टाइम में हैं। मैं पढ़ने के लिए दूसरी पंक्ति पाने के लिए कोशिश कर रहा हूँ:
6/2/2010 4:37:19 PM -05:00
BaseUtcOffset जाहिरा तौर पर डीएसटी के आधार पर बदल नहीं करता है।
मुझे उचित ऑफ़सेट मूल्य के साथ सही समय कैसे मिल सकता है?
+1 - यह मुझे पागल है कि TimeZoneInfo.ConvertTimeBySystemTimeZoneId बस इस :) –