首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DateTime在搜索结果中返回错误的KeywordQuery

使用DateTime在搜索结果中返回错误的KeywordQuery
EN

Stack Overflow用户
提问于 2017-02-27 20:06:46
回答 1查看 507关注 0票数 0

我有个大问题。我在服务器端代码中使用KeywordQuery从几个具有相同内容类型的列表中返回项。我在这些列表中有一些日期时间列。当我从keywordwquery搜索返回值时,我得到

代码语言:javascript
复制
3/2/2017 11:00:00 PM

但我把2017年3月3日作为日期保存在列表项目中!这里怎么了?为什么我总是从搜索数据库接收日期-1小时,如何在服务器端代码中纠正这一点?

这是我的密码:

代码语言:javascript
复制
            SearchServiceApplicationProxy proxy = (SearchServiceApplicationProxy)SearchServiceApplicationProxy.GetProxy(SPServiceContext.GetContext(querySite));

            using (KeywordQuery keywordQuery = new KeywordQuery(proxy))
            {
                try
                {
                    keywordQuery.ResultsProvider = SearchProvider.Default;
                    keywordQuery.StartRow = 0;
                    keywordQuery.RowLimit = 9999;
                    keywordQuery.EnableStemming = false;
                    keywordQuery.TrimDuplicates = false;
                    keywordQuery.AuthenticationType = QueryAuthenticationType.PluggableAuthenticatedQuery;
                    keywordQuery.KeywordInclusion = KeywordInclusion.AllKeywords;

                    keywordQuery.QueryText = "contentclass:\"STS_ListItem_Task\" NOT ContentTypeId:\"0x010800C140B62AF5566C4CBFC76C53B8D4DA94\"";

                    keywordQuery.SelectProperties.Add("Author");
                    keywordQuery.SelectProperties.Add("AssignedTo");
                    keywordQuery.SelectProperties.Add("DueDate");
                    keywordQuery.SelectProperties.Add("StartDate");
                    keywordQuery.SelectProperties.Add("path");
                    keywordQuery.SelectProperties.Add("title");

                    SearchExecutor executor = new SearchExecutor();
                    ResultTableCollection resultTableCollection = executor.ExecuteQuery(keywordQuery);
                    var resultTables = resultTableCollection.Filter("TableType", KnownTableTypes.RelevantResults);
                    ResultTable resultTable = resultTableCollection.FirstOrDefault();

                    if (resultTable.Table.Rows.Count > 0)
                    {
                       ...
                    }
                }
                catch (Exception ex)
                {

                }
            }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-12 05:06:45

我相信这是时区的转变,在这里发挥作用。检查哪个时间是本地的,哪个是协调世界时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42494802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档