如果使用sharepoint foundation客户端对象模型,则文件的上次修改时间会有所不同

时间:2011-12-21 09:34:22

标签: sharepoint-2010

我有一个使用客户端对象模型访问sharepoint foundation 2010数据的应用程序。但是,如果从客户端对象模型获取文件的LastModifiedTime与在Web浏览器中看到该文件时的文件不同。

2 个答案:

答案 0 :(得分:1)

@Stefan

我正在使用以下代码来处理文件版本....

enter code here
SP.File file = web.GetFileByServerRelativeUrl(serverRelatedUrl);
clientContext.Load(file, fv => fv.Name, fv => fv.Exists, fv => fv.TimeLastModified);
clientContext.ExecuteQuery();
SP.FileVersionCollection fileVersionCollection = file.Versions;
clientContext.Load(fileVersionCollection);
clientContext.ExecuteQuery();

foreach (SP.FileVersion fileVersion in fileVersionCollection)
{
  clientContext.Load(fileVersion, fv => fv.Created);
  clientContext.ExecuteQuery();
  DateTime ModifiedTime = fileVersion.Created;
}

这里fileVersion.Created给出协调世界时(UTC)。

答案 1 :(得分:0)

属性SPFile.TimeLastModified以协调世界时(UTC)返回日期和时间。

对于客户端对象模型对应File.TimeLastModified,情况也是如此。

在SharePoint中显示文件时,例如在文档库列表视图中,日期将转换为由网络区域设置定义的本地时间。

通过API访问SPListItem上的修改日期列时,日期和时间也将转换为当地时间:

SPFile file = ...
// UTC
file.TimeLastModified

SPListItem item = ...
// Local time corresponding to the SPWeb.RegionalSettings
item[SPBuiltInFieldId.Modified]