Вопрос

Вопрос по OData + $filter + datetime + timeoffset

Здравствуйте у меня небольшой вопрос по OData



Делаю OData запрос. Выставляю в $filter=ModifiedOn ge datetime'...+03:00', модифицирую запись, и запускаю запрос на выборку. Почему-то данные не считываются из-за того что текущее время на клиенте - 10 минут не пересчитывается во время сервера. Подскажите как мне можно задать вопрос чтобы с таблицы можно было считать изменённые записи за 10 минут. Время естественно у меня локальное.

Нравится

1 комментарий

Добрый день, 

Для начала хочу обратить внимание на то,

что время в БД записывается в 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, также стоит обратить внимание, что в системе время отображаеться с учетом часового пояса пользователя системы.

 

Показать все комментарии