私は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));
これは出力します:
2010/6/2 16:37:19 2010/6/2 午後 3:37:19 -06:00
私は中央時間帯にいて、現在は夏時間です。2行目を読み取ろうとしています:
2010/6/2 午後 4:37:19 -05:00
BaseUtcOffset
DSTに基づいて変更されないようです。
適切なオフセット値で適切な時間を取得するにはどうすればよいですか?