CAML查询日期范围内的过滤数据
本文关键字:过滤 数据 范围内 查询 日期 CAML | 更新日期: 2023-09-27 18:07:01
我想从SPList
检索数据范围内的项。开始日期为今天,结束日期为30天后的第二天。这是我的CAML查询。
query.Query = string.Concat(@
"<Where>
<And>
<Geq>
<FieldRef Name='EventDate' />
<Value IncludeTimeValue='False' Type='DateTime'><Today /></Value>
</Geq>
<Leq>
<FieldRef Name='EventDate' />
<Value IncludeTimeValue='False' Type='DateTime'><Today offset='30'/></Value>
</Leq>
</And>
</Where>
<OrderBy>
<FieldRef Name='EventDate' Ascending='True' />
</OrderBy>");
SPListItemCollection items = list.GetItems(query);
但是这将只返回具有今天日期的项。
试试这个,在<Today/>
值中使用OffsetDays
或Offset
而不是offset
…
query.Query = string.Concat(@
"<Where>
<And>
<Geq>
<FieldRef Name='EventDate' />
<Value IncludeTimeValue='False' Type='DateTime'><Today /></Value>
</Geq>
<Leq>
<FieldRef Name='EventDate' />
<Value IncludeTimeValue='False' Type='DateTime'><Today OffsetDays='30'/></Value>
</Leq>
</And>
</Where>
<OrderBy>
<FieldRef Name='EventDate' Ascending='True' />
</OrderBy>");
CAML Offset和Offset days的区别是什么?
或者您可以创建DateTime
对象并使用SPUtility。CreateISO8601DateTimeFromSystemDateTime方法