Caml查询以从Sharepoint列表中获取特定日期的数据

问题描述

|| 我有一个共享点列表,其中hte列之一是类型为DateTime的Created Date,并且允许的值为OnlyDate。 我的栏中的提交日期是2011年5月18日。当我使用下面的CAML查询执行搜索时,尽管我有两个日期与此日期无关,但它没有任何结果。
<Where><Eq><FieldRef Name=\'Date_x0020_Created\' /><Value Type=\'DateTime\'>5/18/2011</Value></Eq></Where>
我不明白此查询出了什么问题。有人请帮忙。     

解决方法

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;
}
附言您可能无法仅通过
<Eq>
标签使用这两个项目找到这两个项目,因为可能会有时差。为此,您需要将日期括在
<Leq>
<Geq>
标记中。     ,您可以使用CAML查询构建器测试查询。要了解CAML查询的基础知识以及如何使用CAML查询构建器,请阅读以下文章-它们将为您提供帮助! CAML查询和 使用CAML查询构建器     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...