2011-12-21 11 views
0

クライアントオブジェクトモデルを使用してSharePoint Foundation 2010データにアクセスする1つのアプリケーションがあります。しかし、クライアントオブジェクトモデルから取得した場合のファイルのLastModifiedTimeは、Webブラウザでファイルを表示した場合とは異なります。Sharepoint Foundationクライアントオブジェクトモデルを使用している場合、ファイルの最終更新時刻が異なる

答えて

0

プロパティSPFile.TimeLastModifiedは、協定世界時(UTC)で日付と時刻を返します。

クライアントオブジェクトモデルの対応部分File.TimeLastModifiedについても同じことが当てはまります。

SharePointでファイルを表示する場合(ドキュメントライブラリリストビューなど)、日付はWebの地域設定で定義されているローカル時間に変換されます。

日付と時刻が同様にローカル時刻に変換されますAPIを経由してSPListItem上の変更日付列へのアクセス:

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

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

ありがとうStefan。今は、最新のバージョンのWebのRegionalSettingsに対応する現地時間を取得できますが、ファイルバージョンではWebのRegionalSettingsに対応する現地時間を取得できません。 – user1107571

+0

@ user1107571:詳しく教えていただけますか? – Stefan

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)を示します。