Странная проблема с датой в WebService ASP.Net SQL - PullRequest
1 голос
/ 08 января 2009

Мой сервер находится в США, и я выполняю запрос к нему. Данные, содержащиеся в таблице как на удаленном сервере (U.S), так и на локальном сервере, одинаковы.

Проблема в том, что я получаю DataSet с помощью WebService с удаленного сервера. Столбец Даты показывает предыдущую дату. Например, в столбце «Дата» указано «14 января 2007», но при извлечении отображается «13 января 2007».

Я не могу определить причину, так как все работает нормально.

Ответы [ 2 ]

1 голос
/ 08 января 2009

Есть проблемы со временем в наборах данных, по крайней мере, в .net 1.1. Набор данных автоматически настраивает время в соответствии с часовым поясом клиента. Я предполагаю, что ваш клиент настроен на часовой пояс, который находится дальше к западу от сервера. В свою очередь, это сдвигает время назад на несколько часов, в результате чего дата перемещается с 14 января 2007 года на 13 января 2007 года.

Взгляните на эту статью KB.

0 голосов
/ 08 января 2009

Возможно, локализация базы данных - это не то, что ожидает набор данных. Я не уверен в точных характеристиках, но, например, он может хранить значение как EDT, но ожидаю, что оно будет в формате UTC. То, что вы можете увидеть в файле базы данных, может быть 14 января 2007 года в 12:00, но когда он локализует его по времени США, вы получите 13 января 2007 года в 4:00 вечера или что-то еще?

Проверьте также и время, а не только дату, и посмотрите, сможете ли вы определить шаблон. Тогда вы, возможно, можете настроить соответственно.

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