SharePoint REST Api 按日期筛选
SharePoint REST Api filter on date
我正在尝试按日期筛选项目。我想得到一个 dateFrom equel 或更大到今天和 dateTo equel 或更小的项目。这是我的查询和重新格式化日期功能。在 SharePoint Online 中,我将日期设置为 only date
。默认情况下,sharePoint 将时间部分设置为 23:00:00。这就是静态使用它的原因。查询的 ´ge dateFrom´
部分工作正常,但 le dateTo
忽略了 equel 部分。所以如果 dateTo 设置为 2018-03-19
。我没有得到任何物品
返回时将 dateTo 设置为该日期 2018-03-19
。我的查询有误吗?
var requestUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + _weaklyQuestion + "')/items?$select=Id,Title,answersOptions,dateFrom,dateTo&$filter=('" + ReFormatTime() + "' ge dateFrom) and ('" + ReFormatTime() + "' le dateTo)&$top=1";
function ReFormatTime() {
var date = new Date(),
year = date.getFullYear(),
month = date.getMonth() + 1,
dt = date.getDate();
if (dt < 10) {
dt = '0' + dt;
}
if (month < 10) {
month = '0' + month;
}
return year + '-' + month + '-' + dt + 'T23:00:00Z';
}
您必须将格式化的时间字符串包装在 datetime()
中
var requestUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + _weaklyQuestion + "')/items?$select=Id,Title,answersOptions,dateFrom,dateTo&$filter=(datetime('" + ReFormatTime() + "') ge dateFrom) and (datetime('" + ReFormatTime() + "') le dateTo)&$top=1";
对于 SharePoint Online 版本 - 日期范围比较:
1) 转换日期以用于 2019-04-18T23:59:00.000Z 格式的比较。
2) 在日期末尾添加 000Z 并形成如下查询。
/_api/web/lists/getByTitle('ListName')/items?$orderby=Created desC&$filter=(Created ge datetime'2019-04-17T00:00:00.000Z') and (Created le datetime'2019-04-18T23:59:00.000Z')
我正在尝试按日期筛选项目。我想得到一个 dateFrom equel 或更大到今天和 dateTo equel 或更小的项目。这是我的查询和重新格式化日期功能。在 SharePoint Online 中,我将日期设置为 only date
。默认情况下,sharePoint 将时间部分设置为 23:00:00。这就是静态使用它的原因。查询的 ´ge dateFrom´
部分工作正常,但 le dateTo
忽略了 equel 部分。所以如果 dateTo 设置为 2018-03-19
。我没有得到任何物品
返回时将 dateTo 设置为该日期 2018-03-19
。我的查询有误吗?
var requestUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + _weaklyQuestion + "')/items?$select=Id,Title,answersOptions,dateFrom,dateTo&$filter=('" + ReFormatTime() + "' ge dateFrom) and ('" + ReFormatTime() + "' le dateTo)&$top=1";
function ReFormatTime() {
var date = new Date(),
year = date.getFullYear(),
month = date.getMonth() + 1,
dt = date.getDate();
if (dt < 10) {
dt = '0' + dt;
}
if (month < 10) {
month = '0' + month;
}
return year + '-' + month + '-' + dt + 'T23:00:00Z';
}
您必须将格式化的时间字符串包装在 datetime()
var requestUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + _weaklyQuestion + "')/items?$select=Id,Title,answersOptions,dateFrom,dateTo&$filter=(datetime('" + ReFormatTime() + "') ge dateFrom) and (datetime('" + ReFormatTime() + "') le dateTo)&$top=1";
对于 SharePoint Online 版本 - 日期范围比较:
1) 转换日期以用于 2019-04-18T23:59:00.000Z 格式的比较。
2) 在日期末尾添加 000Z 并形成如下查询。
/_api/web/lists/getByTitle('ListName')/items?$orderby=Created desC&$filter=(Created ge datetime'2019-04-17T00:00:00.000Z') and (Created le datetime'2019-04-18T23:59:00.000Z')