rest - SharePoint REST API 筛选器仅基于今天的日期而不是时间。 (类似于 CAML 查询中的 IncludeTimeValue=False)

标签 rest sharepoint-2013

我正在尝试使用仅今天创建的 REST API 从 SharePoint 列表中获取数据。

var listName = "Carousel%20News";
var today = new Date().toISOString();

这是我的 REST URL:
_spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items?$select=Id,Title&$filter=Created eq '" + today + "'";

但是当我使用这个 rest URL 时,我没有得到今天创建的项目。

(我已经仔细检查了列表中是否存在具有今天创建日期的项目)

我的假设是,此 URL 基于日期和时间值进行过滤。

那么有没有办法只使用今天的日期的 REST 过滤器并忽略时间戳(就像我们在 CAML 查询中做的 IncludeTimeValue=False 一样)?

最佳答案

我不知道如何在 CAML 中获得它。但是,我最近才开始在下面执行此操作。我正在使用 $.ajax 查询和 for 循环来获取我的数据。

$(document).ready(function()
{
    var siteURL = _spPageContextInfo.webServerRelativeUrl;
    var listName = "Carousel%20News";
	  var url = siteURL + "/_api/web/lists/getbytitle('"+listName+"')/Items";
    $.ajax
    ({
      url: url,
			method: "GET",
			contentType: "application/json; odata=verbose",
			headers: { "Accept": "application/json; odata=verbose" },
			success: function (data)
      {
        var dateTime = new Date();
        var now = Date.parse(dateTime); //convert dateTime to milliseconds
        for (var i = 0; i < data.d.results.length; i++)
        {
          var item = data.d.results[i];
          var ID = item.ID;
          var Created = item.Created;
          /* Lets get the millisecond value for our Date/Time Column */
          var today = Date.parse(Created); //get Millisecond value for Created Date
          var createdDiff = now - today; // get the date difference between now and Created in Milliseconds
          var formatDateDiff = createdDiff/86400000;
          console.log("Item#: "+ID+", "+"Date Difference (24 hr)= "+formatDateDiff);
          
          //Lets only show the results that meet this criteria
          if(formatDateDiff <= 24){
            // do something with your code
          };
        }
      },
      error: function(data)
      {  
        //Give me an error
      }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


让我知道这是否解决了您的问题或有助于让您走上正轨

关于rest - SharePoint REST API 筛选器仅基于今天的日期而不是时间。 (类似于 CAML 查询中的 IncludeTimeValue=False),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46218545/

相关文章:

java - 如何保留父实体而不更新具有多对多关系的子实体?

C# 客户端 - Perl 服务器 - 文件路径区分大小写

javascript - 如何使SharePoint任务列表的新任务表单中的所有字段都可见?

sharepoint-2013 - 尝试读取导航属性的值时发现具有非空值的“PrimitiveValue”节点;

powershell - 共享点错误:Enable-SPFeature:此页面的安全验证无效

json - 使用 VSTS Rest API,如何更新 Markdown 小部件?

rest - 在没有实体 ID 的 REST API 中删除最佳实践

rest - spring boot 中 Rest 资源的 NotImplementedException

sharepoint - 适用于 SharePoint 2013 本地、Power BI 和自定义 Web 应用程序的 ADFS 单点登录?

visual-studio-2013 - 使用 Visual Studio 2013 在 Sharepoint 2013 中创建母版页