ASP.net Webservice Дата Параметр Проблема Смещения часового пояса - PullRequest
3 голосов
/ 16 марта 2009

У меня есть веб-сервис asp.net с параметром типа datetime. Я заметил, что asp.net, кажется, компенсирует дату, основываясь на часовом поясе клиентов.

Мне нужно отключить эту функцию. Я просто хочу передать дату (т. Е. 15.03.2009) веб-службе из javascript без какого-либо контекста часового пояса.

Является ли мой единственный вариант изменить тип параметра на строку, а затем преобразовать его на стороне сервера, или есть какой-то способ отключить десериализатор от смещения моего параметра даты?

Ответы [ 3 ]

2 голосов
/ 16 марта 2009

Я бы использовал строку.

Это имеет смысл - DateTime действительно является «моментом времени», поэтому, когда два клиента говорят об одном и том же DateTime, они говорят об одном и том же INSTANT. Так что, сказав, что «метеор ударит Землю через 5 минут», следует приспособиться к часовому поясу.

1 голос
/ 16 марта 2009

Вместо этого вы можете использовать дату UTC: http://www.java2s.com/Code/JavaScript/Date-Time/GetUTCDate.htm

0 голосов
/ 25 марта 2009

У меня была именно эта «проблема», и когда я обдумал ее, я понял, что способ работы действительно был правильным, по крайней мере, для моего сценария. В моем случае я получал activeFrom и ActiveTo даты. Это могут быть только даты (без временной части), когда я фактически передаю эти значения в процессор. Наш веб-сервер находится по восточному времени. Я случайно проводил тестирование у клиента в Центральном времени. Мой тестовый случай не удался, потому что значение, сохраненное в базе данных, не соответствовало тому, что я отправил (EG 04/01/2009 01:00 против 04/01/2009 00:00).

Я думал о том, чтобы просто снять часть времени. Это казалось нормальным, пока я не рассмотрел запрос, поступивший из часового пояса к востоку от восточного (что произошло бы, потому что у нас есть клиенты в Таиланде). Я был расстроен, потому что итоговая дата будет за один день до даты, отправленной в запросе. Тогда я понял, что это именно та дата, которую я хочу использовать.

Надеюсь, ваш сценарий сработает так же по счастливой случайности, как и мой.

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