最佳答案
我正在尝试使用 DateTimeOffset
来传达跨越任何时区的特定时刻。我不知道如何使用 ABc1来处理夏时制。
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
apparently doesn't change based on DST.
How can I get the the right time with the proper offset value?