【问题标题】:Caml query to fetch data from Sharepoint list for a specific DateCaml 查询以从 Sharepoint 列表中获取特定日期的数据
【发布时间】:2011-08-29 23:18:43
【问题描述】:

我有一个共享点列表,其中 hte 列之一是 DateTime 类型的创建日期,允许的值为 OnlyDate。

我的专栏中的提交日期是 05/18/2011。当我使用以下 CAML 查询执行搜索时,尽管我有两个具有此日期的项目,但它没有给出任何结果。

<Where><Eq><FieldRef Name='Date_x0020_Created' /><Value Type='DateTime'>5/18/2011</Value></Eq></Where>

我不明白这个查询有什么问题。有人请帮忙。

【问题讨论】:

    标签: sharepoint caml


    【解决方案1】:

    您可以使用 CAML 查询生成器测试您的查询。要了解 CAML 查询的基础知识以及如何使用 CAML 查询生成器,请阅读以下文章 - 它们将为您提供帮助!

    【讨论】:

      【解决方案2】:

      Sharepoint 接受 UTC 格式的 ISO 8601 日期时间格式的日期时间。格式是

      yyyy-MM-ddTHH:mm:ssZ
      

      因此,对于您的示例,您可以使用

      2011-05-18T00:00:00Z
      

      SPUtility 确实提供了一种方法来进行这种转换。 要在 Java 中创建它,您可以使用以下方法:

      private String changeDateToISO8601(Date date) {
          TimeZone timeZone = TimeZone.getTimeZone("UTC");
          DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
          dateFormat.setTimeZone(timeZone);
          String convertedDate = dateFormat.format(date);
          return convertedDate;
      }
      

      附:您可能无法仅通过&lt;Eq&gt; 标签找到这两个项目,因为可能存在时差。为此,您需要将日期括在 &lt;Leq&gt;&lt;Geq&gt; 标记中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-04
        • 1970-01-01
        • 2011-07-09
        • 1970-01-01
        • 2011-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多