¿Alguien puede explicar cómo un DaylightSavingsRule puede tener un & # 8220; StartMonth & # 8221; después de que sea & # 8220; EndMonth & # 8221 ;?

StackOverflow https://stackoverflow.com/questions/824641

  •  05-07-2019
  •  | 
  •  

Pregunta

Usando C # (el marco .NET), estoy recorriendo todas las zonas horarias y sus Reglas de ajuste ... y para " Hora estándar de Mauricio " {(GMT + 04: 00) Port Louis)} - la regla de ajuste es la siguiente:

IsFixed = false;
DaylightTransitionStart.Month = 10;
DaylightTransitionEnd.Month = 1;

Por lo que entiendo, 'IsFixed = false' significa que no utilizo la " StartDate " y " EndDate " campos ... pero más bien, necesito usar DaylightTransitionStart y End para determinar dinámicamente si la hora es en horario de verano o no.

EL PROBLEMA aquí es que, para aproximadamente 30 reglas de transición, el " StartMonth " es DESPUÉS del " EndMonth "

¿Cómo puede DaylightSavingsTime comenzar en 'Octubre de 2008' y terminar en 'Enero de 2008'?

Por favor, ayúdame a entender esto ... una vez que supere este obstáculo, debería tener una conversión completa en cualquier momento hacia y desde UTC con cualquier zona horaria para toda la historia. Función SQL escrita.

¿Fue útil?

Solución

Un período de tiempo no puede finalizar lógicamente antes de que comience, pero tal vez esté asumiendo que estos meses se refieren a meses del mismo año cuando OCT podría ser en 2008 pero JAN es en 2009.

Piense en ello como una lista enlazada circularmente.

La clase DaylightTime utiliza un DateTime para el inicio y el final del horario de verano, por lo tanto ambos especifican un año.

Otros consejos

¿No sería este el caso para los países al sur del Ecuador?

Hay esta cosa llamada hemisferio sur. Quizás hayas oído hablar de él.

En Australia, el horario de verano comienza alrededor de octubre y termina alrededor de marzo (en los estados que lo tienen).

podría estar en el hemisferio sur, el horario de verano comienza en octubre y termina en marzo en algunas partes de Australia

Dos años diferentes. p.ej. inicio año 09 fin de año 10

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top