Создать событие с Microsoft-графиком php-sdk - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь создать событие с php-sdk, но настройка часового пояса начала и конца не работает.

$e = new Model\Event();
  $e->setSubject($subject);

$start = new Model\DateTimeTimeZone();
  $start->setDateTime($startDateTime);
  $start->setTimeZone($startTimeZone);

$e->setStart($start);
$e->setEnd($start);

$body = new Model\ItemBody();
  $body->setContentType(Model\BodyType::HTML);
  $body->setContent($content);

$e->setBody($body);

Но событие результата каждый раз в UTC.

Я пытался:

$e->setOriginalStartTimeZone($startTimeZone);
$e->setOriginalEndTimeZone($startTimeZone);

и добавление заголовка:

Prefer: outlook.timezone="Pacific Standard Time"

Но результат тот же.

Кроме того, когда я добавляю

$e->setReminderMinutesBeforeStart(8);
$e->setIsReminderOn(true);

Остальная часть отключена.Если я не включу этот код, напоминание будет включено за 15 минут до события.

1 Ответ

0 голосов
/ 02 апреля 2019

Вы устанавливаете и dateTime и timeZone до UTC.Я не уверен, что вы ожидаете, но этот должен сгенерировать новый event с использованием UTC.

Когда вы указываете время, используя суффикс Z, который вы есть, по определению , говоря это «Это Всемирное координированное время».Это эквивалентно установке смещения даты / времени в UTC -0:

Часовой пояс, использующий UTC, иногда обозначается UTC±00:00 или буквой Z -ссылка на эквивалентный морской часовой пояс (GMT), который обозначается как Z примерно с 1950 года.

Если вы хотите использовать «Тихоокеанское стандартное время», тогда вы захотите использовать

$start = new Model\DateTimeTimeZone();
  $start->setDateTime("2019-03-11T21:01:57");
  $start->setTimeZone("Pacific Standard Time");

Хотя вы можете просто использовать -08:00 в качестве смещения UTC (я не достаточно опытен с PHP SDK, чтобы знать, сработает ли это изо всех сил, но япредставь))

1032 *
...