मैं DateTimeOffset
किसी भी समय क्षेत्र में समय में एक विशिष्ट क्षण को व्यक्त करने के लिए उपयोग करने की कोशिश कर रहा हूं। मैं यह नहीं जान सकता कि 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 अपराह्न 6/2/2010 3:37:19 PM -06: 00
मैं केंद्रीय समय क्षेत्र में हूं, और हम वर्तमान में दिन के समय की बचत में हैं। मैं दूसरी पंक्ति पढ़ने की कोशिश कर रहा हूं:
6/2/2010 4:37:19 PM -05: 00
BaseUtcOffset
जाहिरा तौर पर डीएसटी के आधार पर परिवर्तन नहीं होता है।
मैं उचित ऑफसेट मूल्य के साथ सही समय कैसे प्राप्त कर सकता हूं?