You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SharePoint Online REST API 事件列表未来及进行中事件查询需求

补全OData筛选条件,获取未来&进行中事件

我来帮你补全这个SharePoint REST API的筛选逻辑,刚好能精准拿到你需要的两类事件~

首先明确你的需求对应的筛选规则:

  • 未来事件:开始日期(EventDate)≥ 当前日期
  • 进行中事件:开始日期 < 当前日期,但结束日期(EndDate)≥ 当前日期

把这两个规则用OData的语法组合起来,就能得到完整的请求URL了。下面是补全后的代码:

function ReFormatTime() { return moment().format("YYYY-MM-DDT00:00:00"); }
var now = ReFormatTime();
// 补全$filter部分,组合两个筛选条件
var _url = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('Bokningar')/items?$select=EndDate,ID,EventDate,LinkTitle,IsBlock,Program_x0020_Id&$filter=(EventDate ge datetime'" + now + "') or (EventDate lt datetime'" + now + "' and EndDate ge datetime'" + now + "')";

代码说明:

  1. 日期格式化:你的ReFormatTime函数把当前时间转成当天0点的格式,这样比较的是日期维度,而不是精确到时分秒,适合按天筛选的场景。如果需要精确到时分秒,把格式改成"YYYY-MM-DDTHH:mm:ss"即可。
  2. OData筛选逻辑:
    • (EventDate ge datetime'" + now + "'):匹配所有还未开始的未来事件
    • (EventDate lt datetime'" + now + "' and EndDate ge datetime'" + now + "'):匹配已经开始但还没结束的进行中事件
    • 用or连接两个条件,确保两类事件都会被返回
  3. 字段注意:要确认你的列表里的开始/结束日期字段确实是EventDate和EndDate,如果字段名不一样,记得对应修改。

内容的提问来源于stack exchange,提问作者AllramEst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:57:56