Создать событие с Microsoft-графиком php-sdk
Я пытаюсь создать событие с 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 минут до события.
Кто-нибудь может помочь?
0 ответов
Вы устанавливаете оба dateTime
и timeZone
в UTC
, Я не уверен, что вы ожидаете, но это должно генерировать новый event
с помощью UTC
,
Когда вы указываете время, используя Z
По суффиксу вы, по определению, говорите: "Это Всемирное координированное время". Это эквивалентно установке смещения даты / времени в UTC -0
:
Часовой пояс с использованием UTC иногда обозначается
UTC±00:00
или по письмуZ
- ссылка на эквивалентный морской часовой пояс (GMT), который обозначенZ
примерно с 1950 года.
Если вы хотите использовать "Pacific Standard Time", то вы бы хотели использовать
$start = new Model\DateTimeTimeZone();
$start->setDateTime("2019-03-11T21:01:57");
$start->setTimeZone("Pacific Standard Time");
Хотя вы можете просто использовать -08:00
как смещение UTC (я не достаточно опытен с PHP SDK, чтобы знать, сработает ли это изо всех сил, но я думаю, что это будет):
$start = new Model\DateTimeTimeZone();
$start->setDateTime("2019-03-11T21:01:57-08:00");