আমি যে 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 অপরাহ্ন -06: 00
আমি কেন্দ্রীয় সময় অঞ্চলে আছি, এবং আমরা বর্তমানে দিবালোকের সময় সাশ্রয় করছি। আমি দ্বিতীয় লাইনটি পড়ার চেষ্টা করছি:
6/2/2010 4:37:19 অপরাহ্ন -05: 00
BaseUtcOffset
স্পষ্টতই DST এর উপর ভিত্তি করে পরিবর্তন হয় না।
সঠিক অফসেট মান সহ আমি কীভাবে সঠিক সময় পেতে পারি?