Может кто-нибудь объяснить, как DaylightSavingsRule может иметь & # 8220; StartMonth & # 8221; после & # 8220; EndMonth & # 8221 ;?
Вопрос
Используя 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