ある中央ヨーロッパ標準時に変換:UTCは、私は私の日付が間違っている理由を理解しようとしている前で2時間ない1
DateTime databaseUtcTime = new DateTime(2016, 8, 15, 10, 20, 0, DateTimeKind.Utc);
var timeZone = TimeZoneInfo.FindSystemTimeZoneById("Central Europe Standard Time");
var testDateTime = TimeZoneInfo.ConvertTimeFromUtc(databaseUtcTime, timeZone);
testDateTime
出力15/08/2016 12時20分00秒ではなく、15/08/2016 11:20:00 これはなぜですか? UTCより1時間遅れてはなりませんか?2ではなくなりますか?
EDIT ----
おかげでジョンスキート、
これは誰を助けている場合、私が使用してに頼っ:
if(testDateTime.IsDaylightSavingTime())
{
testDateTime = testDateTime.AddHours(-1);
}
をあなたは、コンテキストを知らないとはいえ、これは可能性がある特定の明示的なテストを時間通りに実行しているときに夏時間を取り除く方法を知るのに役立ちます。
NodaTimeに変わるまでの時間です。 (これは良いキャッチフレーズです):https://github.com/nodatime/nodatime – user3185569