我正在尝试使用listdata.svc来检索列表项,其中一个过滤器参数是datetime字段。所以请求看起来像这样:
http://moss2010/_vti_bin/ListData.svc/HeadLineNews?$滤波器=活动 eq true和EndDate ge datetime'2012-01-11T18:00:00'
我收到的项目将“EndDate”设置为早于请求的时间,如下所示:
<d:EndDate m:type="Edm.DateTime">2012-01-11T12:00:00</d:EndDate>
我试图更改EndDate参数中的时间,以防这与客户端浏览器的时区设置有关(我已将“18:00:00”更改为“00:00:00之间的所有24小时” - 23:00:00“),但这似乎没有什么区别。但是,只要我将日期更改为前一天“2012-01-10T18:00:00”,它就会开始返回正确的项目。
ListData忽略DateTime字段的时间信息是否已知?有人之前遇到过这种情况吗?
我的SharePoint服务器上有2011年10月更新。
答案 0 :(得分:0)
我认为这是一个已知问题 - 或者是Sharepoint中的另一个问题。我看到了相同的行为,并看到了博客文章的效果。我的第一个想法是它与UTC与当地时间有关。我已经为UTC和时区尝试了各种ISO 8601格式,但在每种情况下它似乎都忽略了时间组件。我能想到的唯一解决方法是继续并返回整个集合,然后过滤消耗数据的任何内容。
https://en.wikipedia.org/wiki/ISO_8601#Time_zone_designators