sharepoint列表的日期格式为:M / D / YYYY 我必须在splist中的列:start_time和end_time,并且我必须编写一个查询,其中我得到那些“今天”日期大于或等于start_time且小于或等于end_time的字段。当然我也有几个小时:在我的专栏中分钟。我遇到的问题是我发现CAML日期格式是:yyyy / mm / ddThrs:min:ssZ。我知道要获取今天日期的标记,但如何从字段中更改日期格式,以便查询中的比较成功?
这是代码的一部分:
query.Append("<FieldRef Name = 'Start_Time'");
query.Append("/>");
query.Append("<Value Type ='DateTime'IncludeTimeValue='True'>");
query.Append("<Today/>");
query.Append("</Value>");
由于splist日期格式不是CAML日期格式
,因此比较将失败答案 0 :(得分:1)
尝试:
<Where>
<And>
<Geq>
<FieldRef Name='start_time' />
<Value Type='DateTime'><Now /></Value>
</Geq>
<Leq>
<FieldRef Name='end_time' />
<Value Type='DateTime'><Now /></Value>
</Leq>
</And>
</Where>
由于start_time
和end_time
实际上是Date类型而不是Text类型,因此像这样的查询应该有效。无论日期如何在屏幕上显示,日期都将使用CAML中的ISO8601格式。
注意,上面的CAML是在U2U CAML Query Builder的帮助下构建的。
答案 1 :(得分:0)