2017-02-27 6 views
0

큰 문제가 있습니다. 동일한 ContentTypeID를 가진 여러 목록에서 항목을 반환하기 위해 서버 측 코드에서 KeywordQuery를 사용하고 있습니다. 나는 그 목록에 몇 가지 datetime 열이 있습니다. 키워드 검색에서 값을 반환 할 때KeywordQuery를 사용하여 검색 결과에 잘못된 DateTime 반환

3/2/2017 11:00:00 PM 

그러나 목록 항목에 날짜로 3/3/2017을 저장했습니다! 여기서 뭐가 잘못 됐니? 검색 데이터베이스에서 1 시간이라는 항상 날짜를받는 이유는 무엇이며 어떻게 서버 측 코드에서이 문제를 해결할 수 있습니까? 내가 여기에서 활동하기 시작하는 시간대 이동하다고 생각

  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) 
       { 

       } 
      } 

답변

0

:

내 코드입니다. 현지 시간과 UTC 시간을 확인하십시오.