2010-11-07 12 views
6

Quiero saber la hora exacta en que DST comienza/finaliza en una zona horaria y año en particular.¿Cómo saber los tiempos reales cuando comienza/finaliza el horario de verano para una zona horaria y un año en particular?

Usando TimeZoneInfo.GetAdjustmentRules y AdjustmentRule.DaylightTransitionStart Puedo obtener un objeto TransitionTime que especifica la regla de inicio de horario de verano.

Supongamos que encuentro la regla de ajuste que se aplica para 2010. ¿Cómo convierto su objeto TransitionTime en DateTime en 2010?

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 

Respuesta

8

MSDN tiene sample. Vea la función DisplayTransitionInfo en la parte inferior.

+0

Lo extraño es que 'TimeZoneInfo' tiene un' GetDaylightTime estático privado (año int, regla TimeZoneInfo.AdjustmentRule) 'que devuelve' DaylightTime' con propiedades 'Start' y' End' 'DateTime'. No entiendo por qué esto es privado? ¿Cumplimiento con CLS? –

Cuestiones relacionadas