У нас есть веб-приложение ASP.Net 2.0, работающее с сервером на Среднем Западе (восточное стандартное время). На данный момент все наши клиенты находятся в одном часовом поясе с сервером. Мы подключаем к сети еще один сервер в Аризоне (стандартное горное время).
Мы храним все время в базе данных SQL 2005 с помощью C # codebehind DateTime.UtcNow.
Во время тестирования мы столкнулись с некоторыми проблемами преобразования часовых поясов.
Наша проблема заключается в том, что в веб-браузере наше время отображает стандартное горное время вместо часового пояса, который мы тестируем, по восточному стандартному времени.
Когда мы вводим новую информацию, она сохраняется в базе данных как UTC, но когда мы просматриваем эту информацию в браузере, она отображает стандартное время в горах.
Ниже приведен код, который берет значение UTC из базы данных и отображает его в браузере.
lblUpdatedDate.Text = Convert.ToDateTime(dr["UpdatedDate"]).ToLocalTime().ToString();
Приведенный выше код возвращает стандартное время в горах, где находится сервер, а не восточное стандартное время, в котором запущен браузер. Как мы получаем время для отображения, где находится пользователь?