Как обрабатывать json DateTime, возвращенный службами данных WCF (OData)

Я полагаю, что упускаю что-то очевидное здесь. Когда я запрашиваю ответ JSON от службы OData, я получаю другой результат для свойств DateTime, чем когда я запрашиваю XML. В качестве примера я буду использовать фид NerdDinner OData.

JSON:

http://www.nerddinner.com/Services/OData.svc/Dinners(1)?$format=json
"EventDate": "\/Date(1235764800000)\/"

XML:

http://www.nerddinner.com/Services/OData.svc/Dinners(1)
<d:EventDate m:type="Edm.DateTime">2009-02-27T20:00:00</d:EventDate>

Когда я делаю предупреждение (новая Дата (1235764800000)), я получаю этот результат:

Я также получаю результат 8 вечера, когда я запускаю тот же запрос с LINQPad.Почему часовой пояс неверен в результате JSON? Кажется, предполагается, что ответ в GMT. Должен ли я справиться с этим на клиенте (через JavaScript) или это то, что я могу установить на сервере?

Я использую jQuery на клиенте и WCF Data Services (и Entity Framework) на сервере.

Обновить:

я используюDatejs на стороне клиента для обработки форматирования даты и времени в формате UTC. Мне интересно, если это правильный путь для решения этой проблемы.

 function getDateString(jsonDate) {
     if (jsonDate == undefined) {
         return "";
     }
     var utcTime = parseInt(jsonDate.substr(6));

     var date = new Date(utcTime);
     var minutesOffset = date.getTimezoneOffset();

     return date.addMinutes(minutesOffset).toString("M/d/yyyy h:mm tt");
 }

Ответы на вопрос(0)

Ваш ответ на вопрос