Обрабатывает ли метод C # TimeZoneInfo.ConvertTime DST? - PullRequest
0 голосов
/ 31 марта 2012

У меня есть следующий список часовых поясов, который может выбрать пользователь. Горное стандартное время там дважды для Аризоны.Они не хотят, чтобы они видели, когда они выбирают.Я вытащил этот список веб-сайта, который имел все часовые пояса Microsoft.Я думаю, я запутался, если бы в нем было указано Горное стандартное время для штатных единиц и AZ.

Гавайское стандартное время

Стандартное время Аляски

Тихоокеанское стандартное время

Стандартное горное время

Стандартное горное время

Стандартное центральное время

Стандартное время Центральной Америки

Стандартное восточное время

СШАВосточное стандартное время

Мой вопрос: я полагаю, что они не учитывают летнее время, поэтому я предполагаю, что мне нужно добавить что-то в конверсию, чтобы проверить и посмотреть, есть ли они в летнем времени и настроить егосоответственно.Вот как я сейчас делаю конвертацию.

TimeZoneInfo time = TimeZoneInfo.FindSystemTimeZoneById(LocationProvider.GetLocation(LocationID).TimeZone.Name);
return TimeZoneInfo.ConvertTime(DateTime.Now, time);

1 Ответ

2 голосов
/ 31 марта 2012

Да, TimeZoneInfo учитывает DST, если вы правильно его используете (что, правда, не так просто, как могло бы быть). Не совсем понятно, почему вы пытаетесь делать то, что делаете, хотя ...

Я знаю, что сбивает с толку то, что идентификатор на самом деле является стандартным идентификатором для часового пояса, но это все еще полный часовой пояс, который знает о летнем времени. Это не просто означает «стандартное время».

(Если вы разочарованы DateTime и др. И хотите попробовать Время Нода для всех ваших потребностей в дате / времени, я был бы рад помочь:)

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