OneDrive api返回错误的最后修改值

时间:2015-12-26 20:31:53

标签: c# rest uwp onedrive

我有一个使用OneDrive REST APIs的C#UWP应用。

应用程序查询应用程序文件夹并检索此特殊文件夹(app文件夹)中的所有文件。

string appFolderParameters = string.Concat(OneDriveApi, OneDriveAppsFolderPath, "/children", "?access_token=", App.Settings.Values["access_token"]); 
var appFolderMeetings = await client.GetStringAsync(appFolderParameters);
foreach (var file in files)
{
    string fileName = file["name"]?.ToString();
    string lastModifiedString = file["lastModifiedDateTime"]?.ToString();
}

虽然查询工作正常,但值,尤其是lastModifiedString总是落后<1>小时

我的PC TimeZone设置为“自动”,Microsoft帐户TimeZone设置为CET(与我的PC相同)。知道API返回错误的lastModifiedString的原因吗?

以下是一些显示此问题的屏幕截图。

浏览器中上次更新的时间: enter image description here

API结果/ Visual Studio中的上次更新时间: enter image description here

1 个答案:

答案 0 :(得分:1)

看起来lastModifiedDateTime只是UTC格式。在冬季,CET和UTC之间有一小时的差异。

要在本地时间和UTC之间进行转换,请使用DateTime类型,甚至更好的DateTimeOffset类型。