OneDrive api 返回错误的上次修改值
OneDrive api returning wrong last modified values
我有一个使用 OneDrive REST APIs 的 C# UWP 应用程序。
应用程序查询应用程序文件夹并从这个特殊文件夹(应用程序文件夹)中检索所有文件。
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 时区设置为 "Automatic",Microsoft 帐户时区设置为 CET(与我的 PC 相同)。知道为什么 API returns 是错误的 lastModifiedString 吗?
这里有几个屏幕截图可以说明这个问题。
浏览器上次更新时间:
APIresult/Visual工作室的上次更新时间:
看起来 lastModifiedDateTime 只是采用 UTC。冬天CET和UTC时差一小时
要在本地时间和 UTC 之间转换,请使用 DateTime
类型,或者更好的是 DateTimeOffset
类型。
我有一个使用 OneDrive REST APIs 的 C# UWP 应用程序。
应用程序查询应用程序文件夹并从这个特殊文件夹(应用程序文件夹)中检索所有文件。
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 时区设置为 "Automatic",Microsoft 帐户时区设置为 CET(与我的 PC 相同)。知道为什么 API returns 是错误的 lastModifiedString 吗?
这里有几个屏幕截图可以说明这个问题。
浏览器上次更新时间:
APIresult/Visual工作室的上次更新时间:
看起来 lastModifiedDateTime 只是采用 UTC。冬天CET和UTC时差一小时
要在本地时间和 UTC 之间转换,请使用 DateTime
类型,或者更好的是 DateTimeOffset
类型。