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

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

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)
2009-02-27T20:00:00

Когда я делаю предупреждение (новая дата (1235764800000)), я получаю следующий результат: alt text

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

Я использую jQuery на клиенте, а службы данных WCF (и 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");
 }

20
задан Andy May 29 September 2010 в 12:51
поделиться