У меня есть приложение CW UWP, которое использует OneDrive REST APIs.OneDrive api возвращает неправильные последние измененные значения
Приложение запрашивает папку приложения и извлекает все файлы из этой специальной папки (папки приложения).
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 час меньше, чем.
Мой компьютер TimeZone установлен на «Автоматически», а для учетной записи Microsoft Account TimeZone установлено значение CET (то же, что и у моего ПК). Любая идея, почему API возвращает неверную lastModifiedString?
Вот несколько скриншотов, чтобы показать эту проблему.
Последнее обновление Время в браузере:
время последнего обновления в результате API/Visual Studio:
ОК. Исходя из вашего комментария, учитывая, что время в UTC, я добавил следующий код, и теперь он работает нормально. string lastModifiedString = file ["fileSystemInfo"] ["lastModifiedDateTime"] ?. ToString() + "+00: 00"; DateTimeOffset lastModified; if (! DateTimeOffset.TryParse (lastModifiedString, out lastModified)) { lastModified = default (DateTimeOffset); } – sudarsanyes