Удивительно, но Json DateTime с секундами потерял секунды после десериализации в службе WCF - PullRequest
1 голос
/ 14 марта 2012

Я отправляю (используя jQuery $ .post) следующий json DateTime в службу WCF (используя C #):

"/Date(1331713200000)/"

В Firebug CommandLine я проверяю его:

Date(1331713200000)

Это вывод: «Ср. 14 марта 2012 11:52:06 GMT + 0330»

На стороне сервера у меня есть точка останова в аргументе Service Input (который является System.DateTime).То, что получено, является опубликованным временем без секунд!

{3/14/2012 11:50:00 AM}

Вы когда-нибудь пробовали это?Что не так?

Ответы [ 3 ]

2 голосов
/ 14 марта 2012

Либо вы используете Firebug неправильно, либо это ошибка.Посмотрите на ваше число, которое должно быть числом миллисекунд с начала эпохи Unix.Давайте поделим на 1000, чтобы получилось число секунд : 1331713200

Как это могло бы закончиться числом «6» в конце, каким-либо образом, в той или иной форме?

Фактически, мы можем разделить это число на 60 и получить целое число ... которое полностью соответствует значению, которое вы видели на стороне сервера.

Значение 1331713200000 означает 2012-03-14T08: 20: 00Z.

1 голос
/ 14 марта 2012

Возможно, эти сообщения помогут вам:

Отправьте JQuery JSON в WCF REST, используя дату

http://skysanders.net/subtext/archive/2010/02/18/wcf-to-json-dates-and-back-again.aspx

Сочетание дат клиента и WCF не очень хорошо работают вместе.

0 голосов
/ 14 марта 2012

Date(1331713200000) возвращает , теперь , аргумент игнорируется.new Date(1331713200000) это то, что вы должны называть.Как сказал Джон - время, которое вы получаете на стороне сервера, правильное.

...