DateTime.now не реагирует на изменения часового пояса - PullRequest
0 голосов
/ 31 января 2012

Я строю часы, используя DateTime.now, и получаю часовой пояс с сервера.проблема в том, что DateTime по-прежнему использует старый часовой пояс.

(я хочу, чтобы он начал использовать новый часовой пояс, установленный при получении без перезагрузки)

Как мне получитьвокруг этой проблемы?

Ответы [ 3 ]

1 голос
/ 31 января 2012

Вам необходимо преобразовать текущее местное время в желаемый часовой пояс. Примерно так:

var timeInServerTimezone = TimeZoneInfo.ConvertTime(DateTime.Now, timeZoneInfoReceivedFromServer);
1 голос
/ 04 ноября 2014

Вы должны очистить наличные время после изменения времени. Используйте следующую команду:

TimeZoneInfo.ClearCachedData()

для более подробной информации: http://www.c -sharpcorner.com / Форум / Тема / 240283 / дата и время-это-не-отраженная мгновенно, когда-часовой пояс-changes.aspx

0 голосов
/ 31 января 2012

Вы пытались использовать класс TimeZone вместо DateTime?Я не уверен, будет ли это иметь значение, но стоит взглянуть.

 DateTime baseUTC = new DateTime( 2000, 1, 1 );
 TimeZone localZone = TimeZone.CurrentTimeZone;
 DateTime localTime = localZone.ToLocalTime( baseUTC );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...