如何按[今日]和SharePoint列表视图中的时间进行过滤?

时间:2013-08-21 16:26:07

标签: sharepoint-2010 sharepoint-designer caml

我正在尝试根据日期和时间过滤Sharepoint列表。但它只适用于日期,忽略数据和时间字段中的时间。

enter image description here

3 个答案:

答案 0 :(得分:9)

在SharePoint Designer中,我在高级模式下从我的视图编辑CAML查询。我在CAML标签值类型="日期时间" 中添加 IncludeTimeValue =" True" 。我按时间过滤了我的搜索结果。

           <Query>
                <OrderBy>
                    <FieldRef Name="Modified" Ascending="FALSE"/>
                </OrderBy>
                <Where>
                    <Or>
                        <Gt>
                            <FieldRef Name="Start"/>
                            <Value Type="DateTime"  IncludeTimeValue="True">
                                <Today/>
                            </Value>
                        </Gt>
                        <Gt>
                            <FieldRef Name="TimeOver"/>
                            <Value Type="DateTime"  IncludeTimeValue="True">
                                <Today/>
                            </Value>
                        </Gt>
                    </Or>
                </Where>
            </Query>

答案 1 :(得分:3)

首先,使用[Today]通配符进行SharePoint过滤仅比较日期,而不是时间。据我所知,没有网络界面比较时间的方式。

假设“TimeOver”是您的项目截止日期,“开始”是项目开始的时间......

在过期时通过以下内容向列表添加内容:TimeOver小于[今天]

今天开始时将一些内容添加到列表中:Start等于[Today]

添加过去一周创建的内容:开始时间大于[今天] -7

向30天内到期的列表添加内容:TimeOver大于[Today]且TimeOver小于[Today] +30

答案 2 :(得分:0)

以NUMBER格式创建计算列(例如,将其命名为&#39; CreatNum&#39;)。列的值是日期字段(例如=已创建)。然后按该字段过滤,如在CreateNum字段中大于46,885.3313(数字值中的日期)。相同的计算列会将现有日期字段转换为数字,以便您可以轻松判断要过滤的数字值。