私は現在UTC + 1ゾーンにいます。 TimeZoneInfo.Local.BaseUtcOffsetは+1を返します。なぜ新しいDateTimeOffset(DateTime.Today).AddDays(4).Offsetと新しいDateTimeOffset(DateTime.Today.AddDays(4))。オフセットは異なる値を返しますか?
new DateTimeOffset(DateTime.Today).AddDays(4).Offset
は+1を返します。
ただし、new DateTimeOffset(DateTime.Today.AddDays(4)).Offset
は+2を返します。
オフセットがプラス4になるまでは、オフセットは同じです。 4日からの呼び出しでは、new DateTimeOffset(DateTime.Today.AddDays(x)).Offset
は+2オフセットを返します。 なぜですか? MSDNから
//Same offset +1
var offset2 = new DateTimeOffset(DateTime.Today).AddDays(7).Offset;
var offset22 = new DateTimeOffset(DateTime.Today.AddDays(7)).Offset;
//Same offset +1
var offset3 = new DateTimeOffset(DateTime.Today).AddDays(3).Offset;
var offset32 = new DateTimeOffset(DateTime.Today.AddDays(3)).Offset;
//Different offset +1 and +2
var offset4 = new DateTimeOffset(DateTime.Today).AddDays(4).Offset;
var offset42 = new DateTimeOffset(DateTime.Today.AddDays(4)).Offset;
//Different offset +1 and +2
var offset5 = new DateTimeOffset(DateTime.Today).AddDays(5).Offset;
var offset52 = new DateTimeOffset(DateTime.Today.AddDays(5)).Offset;
との時間を与えるだろう。 – Joe