У меня есть приложение на основе прогнозов, работающее в Windows Azure (http://ipredikt.com).Из того, что я могу сказать, часы Azure синхронизируются с часовым поясом GMT.Вот проблема, с которой я сталкиваюсь:
Допустим, у меня есть поле БД с именем CreateDate типа DateTime, и я установил его значение на 10 июня 2011 г., 12:30.когда создается новый прогноз.Если я загляну внутрь таблицы БД, дата будет установлена правильно.Я не касаюсь и не изменяю это значение в любом случае.Однако, когда я читаю значение с помощью нашего API, сериализую его и отправляю клиенту, я получаю дату со значением 9 июня 2011 года, 17:30.(API-библиотека dll также живет в облаке и, вероятно, связана с БД.)
Мой клиентский браузер работает в PST (тихоокеанский часовой пояс), и кажется, что 7-часовая разница обусловлена разницеймежду PST и GMT.Код API, используемый для сериализации значения, подобен следующему:
System.Web.Script.Serialization.JavaScriptSerializer serializer = new JavaScriptSerializer ();
return serializer.Serialize (dataObject);
Это ошибка в объекте JavaScriptSerializer или есть хитрость для исправления этой дельты?По сути, я не хочу, чтобы .NET Framework каким-либо образом вмешивался в это значение, я просто хочу, чтобы поле БД возвращалось как есть.