2015-06-26 2 views
2

Я искал это в goolge и stackoverflow, но не смог найти удовлетворительных ответов.Лучший способ передачи данных между клиентом и сервером (C#/javascript)

У меня были некоторые проблемы с DateTimes и часовых поясов, и я задавался вопросом, что лучше всего было бы передать DateTimes туда и обратно между сервером (C#) и клиента (JavaScript) игнорируя часовой пояс.

Я использую JavaScriptSerializer на сервере и JSON.stringify на клиенте.

В настоящее время я конвертирую даты в тики.

Любые советы, оцененные.

+0

Какие проблемы у вас возникли? Раньше я преобразовывал даты в UTC и использовал это – jasonscript

+0

UTC или Unix Time Stamp, если вы не собираетесь ниже 1 января 1970 года –

+0

@jasonscript У меня проблемы с часовыми поясами, например: если сервер отправляет datetime клиенту с другой часовой пояс время объекта на клиенте отличается (+/- часовая разница в часовом поясе) –

ответ

1

Фактически время ДОЛЖНО быть другим из-за часового пояса. Часы (а иногда и минуты, если определение зоны включает минуты) меняются, а также зона, когда клиент десериализует дату и время в другом часовом поясе. Если вы хотите, чтобы клиент получал такие же hours и minutesclear zone info перед сериализацией.

DateTime.SpecifyKind(date, DateTimeKind.Unspecified); 
+0

Спасибо за ответ Слатин, теперь я понимаю, что мой вопрос был неправильным. На самом деле это должно быть *** как передать дату и время с C# на javascript в соответствии с часовым поясом ***. Когда datetime десериализуется в javascript, часовой пояс теряется. –

+1

ну и в этом случае это должно помочь http://stackoverflow.com/a/25105519/4573999. Похоже, в вашем случае вы должны сделать противоположное тому, что я предполагал, и установить 'kind' в' local' –

+1

, однако все эти методы предполагают, что вы обрабатываете dateTime как dateTime не как тики, которые не содержат информацию о зоне ... –

Смежные вопросы