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

7

我正在尝试根据日期和时间筛选Sharepoint列表,但只能按日期过滤,忽略日期和时间字段中的时间。

输入图像描述

3个回答

11
在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
太厉害了,老铁!这应该是 OOB 的。我想你可能是指 Caml,这个语法让我一点也不冷静,哈哈。 - Colbs

3
首先,SharePoint使用[Today]通配符进行过滤时只比较日期而不比较时间。据我所知,没有网络界面可以比较时间。
假设“TimeOver”是你的项目截止日期,“Start”是项目开始日期…
当某些事情已经过期时,请添加到列表中:TimeOver小于[今天的日期]。
当某些事情是今天开始的,请添加到列表中:Start等于[今天的日期]。
添加在过去一周内创建的内容:Start大于[今天的日期]-7。
在30天内到期的情况下将某些内容添加到列表中:TimeOver大于[今天的日期]且TimeOver小于[今天的日期]+30。

@Tabares:惊为天人。我要回去重新设计很多基于这个解决方案的解决方案。谢谢! - user2366153

0
在NUMBER格式中创建一个计算的列(例如,将其称为“CreatNum”)。该列的值是日期字段(例如,= Created)。然后通过该字段进行过滤,例如CreateNum字段大于46,885.3313(一个数字形式的日期)。同样的计算列将现有日期字段转换为数字,以便您可以轻松地确定要过滤的数字值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接