Установка / изменение часового пояса приложения .NET - PullRequest
3 голосов
/ 13 июля 2009

Есть ли способ установить TimeZone приложения .NET в значение, отличное от TimeZone ОС?

Например, я использую свое приложение в ОС с установленным центральным стандартным временем, и я хотел бы, чтобы приложение работало так, как если бы оно было в восточном стандартном времени, без необходимости вручную преобразовывать все даты в моем приложении с помощью метода. как TimeZoneInfo.ConvertTimeBySystemTimeZoneId () .

1 Ответ

5 голосов
/ 13 июля 2009

Нет, я не верю, что есть способ сделать это. Это не так, как часовой пояс установлен на основе потока, как культура. Например, я считаю, что DateTime.ToLocalTime будет всегда использовать часовой пояс системы

Однако я бы не стал использовать TimeZoneInfo.ConvertTimeBySystemTimeZoneId везде. Я бы выставил свойство типа TimeZoneInfo, которое представляло соответствующий часовой пояс, или установил бы вспомогательный класс для преобразования туда, куда вам нужно.

В зависимости от вашего приложения вы можете обнаружить, что если вы выбираете правильные точки для преобразования данных (а - это не , то всегда бывает просто хранить их в UTC везде, кроме пользовательского интерфейса). слой) вам не нужно выполнять столько конверсий, сколько вы ожидаете.

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