Как получить данные с фильтром по конкретной дате, используя вызов REST API в списке Sharepoint 2013?

Я создал поле даты в своем списке sharepoint. И мне нужно получить данные из списка sharepoint по фильтру с датой создания. Я пробовал несколько остальных вызовов API, но не нашел правильного способа фильтрации по дате.

Пробные коды:

var CurrentDate = $("datepickerID").val();
CurrentDate = new Date(CurrentDate);
CurrentDate = CurrentDate.toISOString();
"/_api/lists/listname/items?$filter=Created ge 'CurrentDate'"
"/_api/lists/listname/items?$filter=Created eq 'CurrentDate'"
"/_api/lists/listname/items?$filter=Created eq datetime'CurrentDate'"

Мне нужны данные о дате создания, равные CurrentDate записям. Что я могу для этого сделать?


person Sithu05    schedule 27.04.2016    source источник


Ответы (1)


Чтобы фильтровать между двумя диапазонами дат, вы можете попробовать использовать запрос, например:

"/_api/Web/lists/listname/Items?$filter= (Created  ge datetime'2016-04-27T00:00:00.000Z') and (Created  lt datetime'2016-04-29T00:00:00.000Z')"

Ваше требование состоит в том, чтобы отфильтровать элементы списка в «текущий день» из средства выбора даты. Итак, вы можете попробовать изменить свой код как:

var CurrentDate = $("datepickerID").val();
CurrentDate = new Date(CurrentDate);
startDay=CurrentDate.toISOString();
// add a day
CurrentDate.setDate(CurrentDate.getDate() + 1);
endDay=CurrentDate.toISOString();

"/_api/Web/lists/listname/Items?$filter= (Created  ge datetime'"+startDay+"') and (Created  lt datetime'"+endDay+"')"
person Nan Yu    schedule 28.04.2016
comment
Спасибо @Nan Yu, ваш код очень умный. Но у меня возникает проблема с преобразованием CurrentDate в формат ISOString. Потому что метод toISOString() возвращает дату со временем. если ISOString of Date не имеет времени или его ноль, тогда работает только концепция фильтра. Если не ноль фильтр не сработал. Это моя проблема. Например, ››bb = new Date() Thu 28 Apr 2016 18:40:16 GMT+0530 (стандартное время Индии) ››bb.toISOString() 2016-04-28T13:10:16.338Z Как я могу заменить ISOStringDate временной стоимости? - person Sithu05; 28.04.2016
comment
взгляните на moment.js, сэкономьте время на преобразовании DATE - person Shawn; 29.04.2016