【发布时间】:2009-10-05 15:04:13
【问题描述】:
在 SharePoint 日历列表中,我创建了两个带有今天日期的事件。一个我做一个全天的活动,另一个我将开始时间设置为上午 12 点,结束时间设置为晚上 11:55。
当我创建 CAML 查询(在本例中为“U2U CAML 查询生成器”)时,我看到了一些奇怪的行为。当我的查询是简单的“OrderBy”时,两个事件都会返回。
当我执行以下搜索大于或等于今天的事件的查询时,仅返回NOT标记为“全天事件”的事件:
<Where>
<Geq>
<FieldRef Name='EventDate' />
<Value Type='DateTime'>2009-10-05T00:00:00Z</Value>
</Geq>
</Where>
检查查询生成器工具的结果,我发现 EventDate(开始时间列的内部名称)的值是相同的 (2009-10-05 00:00:00)。
为什么 SharePoint 对这两个事件一视同仁?会不会是时区问题?
编辑:更多信息,我认为这可能是时区问题。我发现了 Value 元素的“IncludeTimeValue”属性 - 在此处描述:MSDN。我在东海岸(目前 GMT - 4 小时)。如果我按如下方式编辑Value 元素:(注意现在的日期是第 4 天,而不是第 5 天)
<Value Type='DateTime' IncludeTimeValue='True'>2009-10-04T20:00:00Z</Value>
然后返回两个事件,但如果我到 20:01,那么我将失去全天事件。当我去 20:01 时,我也输掉了全天活动。有谁知道我在哪里可以找到关于这种行为的详细描述?
EDIT2:我自己搞糊涂了;更正了第一次编辑。
【问题讨论】:
标签: sharepoint