Вопрос по OData + $filter + datetime + timeoffset
Здравствуйте у меня небольшой вопрос по OData
Делаю OData запрос. Выставляю в $filter=ModifiedOn ge datetime'...+03:00', модифицирую запись, и запускаю запрос на выборку. Почему-то данные не считываются из-за того что текущее время на клиенте - 10 минут не пересчитывается во время сервера. Подскажите как мне можно задать вопрос чтобы с таблицы можно было считать изменённые записи за 10 минут. Время естественно у меня локальное.
Нравится
Добрый день,
Для начала хочу обратить внимание на то,
что время в БД записывается в UTC (смещение +00:00).
При отправке времени в формате "yyyy-mm-ddThh:mm:ssZ"
передается фактическое значение времени, без учета смещения по времени сервера и клиента.
Если отправлять время в формате "yyyy-mm-ddThh:mm:ss"
значение записывается в БД с учетом смещения по времени сервера.
Если передавать данные в фармате "yyyy-mm-ddThh:mm:ss+TZ" пример "2018-01-31T08:24:49+03:00", это время с учетом смещения по времени клиента.
Необходимо это учесть при формировании запросов по OData, также стоит обратить внимание, что в системе время отображаеться с учетом часового пояса пользователя системы.