私は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日15:37:19-06:00
私は中部標準時で、現在夏時間になっています。私は2行目を読ませようとしています:
2010年6月2日16:37:19-05:00
BaseUtcOffset
どうやらDSTに基づいて変更されません。
適切なオフセット値で適切な時間を取得するにはどうすればよいですか?