我正在对奇怪的日期搜索行为进行一些调查,该网站具有NZ日期格式的区域设置。从基本搜索页面进行搜索时,这是搜索结果URL -?k=DateCompleted=6/24/2004
的附加查询字符串的解码版本。DateCompleted of 6/24/2004
的返回结果。
但是,从搜索结果页面再次单击搜索,将使用DateCompleted of 6/25/2004
返回结果。6/25似乎是UTC 6/24的NZT日期转换。URL的查询字符串已更新为-k=DateCompleted=6/24/2004#k=DateCompleted=6/24/2004
区别在额外的#k=DateCompleted=6/24/2004
上。关于为什么?k
和#k
的日期搜索有区别的想法?我的猜测是与Ajax调用有关,但在Technet/MSDN/Google搜索中找不到任何相关信息。
不是SharePoint搜索中的日期格式yyyy/mm/dd?
搜索结果Web部件具有属性AsynchronousResultRetrieval
。将其设置为false
将在本地日期返回结果(前提是URL 不包含 #k={search query}
(,但是此设置会破坏分页,因为单击下一页链接将在URL上附加#k={search query}
。设置为true
时,搜索将日期搜索查询始终如一地为UTC日期,因此搜索6/24/2004
(UTC(将返回结果6/25/2004
(本地NZ Time(。
要注意的另一个属性是IgnoreStaleServerQuery
将其设置为True以获得一致的结果。