Может кто-нибудь объяснить, как DaylightSavingsRule может иметь & # 8220; StartMonth & # 8221; после & # 8220; EndMonth & # 8221 ;?

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

  •  05-07-2019
  •  | 
  •  

Вопрос

Используя C # (платформу .NET), я перебираю все часовые пояса и их AdjustmentRules ... и для "Стандартного времени Маврикия" " {(GMT + 04: 00) Порт-Луи)} - правило корректировки выглядит следующим образом:

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

Из того, что я понимаю, IsFixed = false означает, что я не использую " StartDate " и " EndDate " поля ... но мне нужно использовать DaylightTransitionStart и End, чтобы динамически определять, находится ли время в летнее время или нет.

Проблема в том, что для примерно 30 правил перехода «StartMonth» ПОСЛЕ

Как DaylightSavingsTime может начинаться в октябре 2008 года и заканчиваться в январе 2008 года?

Пожалуйста, помогите мне понять это ... как только я преодолею это препятствие, у меня должна быть полная " конвертация в любое время в и из UTC с любым часовым поясом для всей истории " Написана функция SQL.

Это было полезно?

Решение

Период времени не может логически завершиться до его начала, но, возможно, вы предполагаете, что эти месяцы относятся к месяцам того же года, когда фактически ОКТ может быть в 2008 году, а JAN - в 2009 году.

Думайте об этом как о циклически связанном списке.

DaylightTime использует класс DateTime для начала и конца периода перехода на летнее время, следовательно оба указывают год.

Другие советы

Разве это не относится к странам к югу от экватора?

Вот эта вещь называется южным полушарием. Может быть, вы слышали об этом.

В Австралии летнее время начинается примерно в октябре и заканчивается в марте (в штатах, где оно есть).

может быть в южном полушарии, летнее время начинается в октябре и заканчивается в марте в некоторых частях Австралии

Два разных года. например начало года 09 конец года 10

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top