php做视频直播网站,wordpress物流主题,wordpress固定连接无法访问,省建设厅网站二建考试SharePoint将所有的Datetime类型的数据都以universal的形式(UTC)存储在数据库中#xff0c;当要在页面上显示类似list item的Created, Modified等时间日期信息时#xff0c;将数据库中的UTC时间取出来#xff0c;然后根据当前Site的Regional Settin…SharePoint将所有的Datetime类型的数据都以universal的形式(UTC)存储在数据库中当要在页面上显示类似list item的Created, Modified等时间日期信息时将数据库中的UTC时间取出来然后根据当前Site的Regional Setting中设置的时区信息换算成当前的时间所以我们在页面中看到的是当前时区下的正确时间。可是当我们用Client Object Model通过CamlQuery 去查询list item的时候 一旦涉及到Datetime类型的字段的时候就会遇见问题比如说我要查询今天created的item我把下面的ViewXML传给SharePoint Server string today DateTime.Now.ToString(yyyy-MM-ddTHH:mm:ssZ, DateTimeFormatInfo.InvariantInfo); CamlQuery query new CamlQuery(); query.DatesInUtc true; query.ViewXml View Query Where Eq FieldRef NameCreated/ Value TypeDateTime today /Value /Eq /Where /Query /View; ListItemCollection items targetList.GetItems(query); clientContext.Load(items); clientContext.ExecuteQuery(); 这时候SharePoint 就会以today的时间去作查询因为没有时区信息所以当client和SharePoint server不在同一时区设置时查询结果就会错误因为SharePoint不知道client object model传过来的时间是什么时区的它只会根据字面的值在当前时区下查询。 解决方法如下在Caml中加入一个StorageTZ的属性然后给一个UTC时间这就告诉SharePoint我要用UTC时间来查询所得的结果也是正确的。 string today DateTime.UtcNow.ToString(yyyy-MM-ddTHH:mm:ssZ, DateTimeFormatInfo.InvariantInfo); //DateTime today DateTime.Now; CamlQuery query new CamlQuery(); query.DatesInUtc true; query.ViewXml View Query Where Eq FieldRef NameCreated/ Value StorageTZTRUE TypeDateTime today /Value /Eq /Where /Query /View; ListItemCollection items targetList.GetItems(query); clientContext.Load(items); clientContext.ExecuteQuery(); 转载于:https://www.cnblogs.com/tonnie/archive/2011/11/01/com.html