Я создал логическое приложение, которое считывает данные из SharePoint онлайн с помощью действия get-item.Как конвертировать поле «Дата только SharePoint» из UTC в местный часовой пояс
Однако - У меня есть столбец sharepoint типа Date-Only, который возвращает, очевидно, только часть даты (как предполагалось только для даты).
Проблема заключается в том, что sharepoint внутренне использует дату-время (UTC!) Для хранения даты. Поэтому, когда я создаю запись в sharepoint в свое местное время (CET!) С датой «2016-10-20», она сохраняется как 2016-10-19T22:00.00Z
.
Итак, теперь логическое приложение-приложение отправляет rest-call, который вернет 2016-10-19
. Итак, как я должен получить свою первоначальную дату? Даже если бы я лечить ответ как UTC и преобразовать его к моему местному времени (с помощью лазурного-функции) Я хотел бы получить 2016-10-19T02:00.00
как результат вместо 2016-10-20T02:00.00
Где ваш код? Как вы устанавливаете дату? Скорее всего, вы отправляете локальное значение DateTime (DateTimeKind.Local), которое сервер должен изменить перед сохранением. Даже если SP будет сохранено по местному времени, вы все равно получите ту же ошибку, если у сервера был другой часовой пояс из вашего кода. Используйте 'ToUtc' для создания значения с помощью' DateTimeKind.UTC' или используйте 'DateTimeOffset', чтобы избежать каких-либо неопределенностей. –
BTW. Я думаю, что службы SP используют ISO8601 (эквивалент datetimeoffset), что означает, что время было изменено вашим кодом, когда локальный 'DateTime' был преобразован в' 2016-10-20T00: 00: 00 + 02: 00' - правильное местное время в формате ISO8601. –
Я редактирую элементы списка SharePoint в SharePoint-UI. Это ответ, который я получаю от логического приложения: «body»: { [... сокращенно для краткости ...] "orderdate": "2016-10-19" } – nyn3x