TimeZoneInfo İle Tarih Dönüştürme İşlemi ve Yaz Saati Uygulaması

C# `da TimeZoneInfo sınıfı altındaki ConvertTimeToUtc methodu ile kullanıcıdan gelen tarihi UTC biçimine dönüştürürken TimeZoneInfo altındaki AdjustmentRule sınıfına dikkat etmek gerekli.

Örneğin; UTC +3 olan bir ülkenin belli tarihler arasında uyguladığı (eskiden bizim ülkemizde de olduğu gibi) saatleri geri veya ileri alma durumlarını tarih aralığı ve ne kadar saat ileri ya da geri alınacağı bilgisi AdjustmentRule sınıfında saklanıyor.

ConvertTimeToUtc ya da benzer diğer methodları kullanırken sistem otomatik olarak AdjustmentRule`da yer alan verilere göre tarihi dönüştürme işlemini yapıyor. Test yaparken çıkan değer bu sebeple ilgili zaman diliminin tanımındakine göre farklı olabiliyor, yani verdiğiniz tarihe +3 ekleneceğini beklerken +2 eklenebiliyor.