Правило перехода на летнее время - PullRequest
3 голосов
/ 22 ноября 2011

Поскольку Silverlight не имеет полного TimeZoneInfo, мне нужно будет реализовать некоторые функции самостоятельно.Например, эта следующая информация взята из .NET TimeZoneInfo

ID: Central Standard Time
   Display Name:   (UTC-06:00) Central Time (US & Canada)
   Standard Name:                   Central Standard Time
   Daylight Name:                   Central Daylight Time   ***Has Daylight Saving Time***
   Offset from UTC:                      -6 hours, 0 minutes
   Number of adjustment rules:                          2
   Adjustment Rules:
      From 1/1/0001 12:00:00 AM to 12/31/2006 12:00:00 AM
      Delta: 01:00:00
      Begins at 2:00 AM on Sunday of week 1 of April
      Ends at 2:00 AM on Sunday of week 5 of October
      From 1/1/2007 12:00:00 AM to 12/31/9999 12:00:00 AM
      Delta: 01:00:00
      Begins at 2:00 AM on Sunday of week 2 of March
      Ends at 2:00 AM on Sunday of week 1 of November

Мой вопрос: как мне реализовать такое правило, когда мне нужно преобразовать UTC в локальное и обратно?

Должен ли я взять UTC, вычесть 6 часов, а затем проверить, не наступило ли это после 2 часов ночи в воскресенье 2-й недели марта, а затем добавить 1 час?а потом вычесть 5?

1 Ответ

1 голос
/ 22 ноября 2011

Время вступления в силу летнего времени зависит от часового пояса, а не от UTC. Таким образом, вы должны взять время UTC, вычесть 6 часов, сделать проверку и затем добавить час обратно, если это применимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...