2010-11-07 9 views
6

Belirli bir saat diliminde ve yılda DST'nin ne zaman başlayacağını/sona ereceğini tam olarak bilmek istiyorum.Bir saat dilimi ve belirli bir yıl için DST başladığında/bittiğinde gerçek zamanlar nasıl bulunur?

TimeZoneInfo.GetAdjustmentRules ve AdjustmentRule.DaylightTransitionStart'u kullanarak DST başlangıç ​​momenti kuralını belirten bir TransitionTime nesnesi alabilirim.

2010 için geçerli olan düzenleme kuralını bulduğumu varsayalım. TransitionTime nesnesini 2010'da DateTime nesnesine nasıl dönüştürebilirim?

Timezone: (UTC-05:00) Eastern Time (US & Canada) 
Valid: 01.01.2007 00:00:00 - 31.12.9999 00:00:00 
DST Start TransitionTime: 
    IsFixedDateRule: false 
    Month: 3 
    Week: 2 
    DayOfWeek: Sunday 
    TimeOfDay: 02:00:00 

cevap

8

MSDN, sample sahip. En alttaki DisplayTransitionInfo işlevine bakın.

+0

Tuhaf olan, 'TimeZoneInfo'' 'Start' ve' End' DateTime' özellikleriyle 'DaylightTime'ı döndüren bir' özel statik GetDaylightTime (int yıl, TimeZoneInfo.AdjustmentRule kuralı) vardır. Bunun neden özel olduğunu anlamıyorum? CLS uyumluluğu? –