首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Microsoft-graph php-sdk创建事件

使用Microsoft-graph php-sdk创建事件
EN

Stack Overflow用户
提问于 2019-02-26 16:35:46
回答 1查看 440关注 0票数 2

我尝试用php-sdk创建事件,但设置开始和结束时区不起作用。

代码语言:javascript
复制
$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为单位。

我试过了:

代码语言:javascript
复制
$e->setOriginalStartTimeZone($startTimeZone);
$e->setOriginalEndTimeZone($startTimeZone);

并添加一个头部:

代码语言:javascript
复制
Prefer: outlook.timezone="Pacific Standard Time"

但是结果是一样的。

最重要的是,当我添加

代码语言:javascript
复制
$e->setReminderMinutesBeforeStart(8);
$e->setIsReminderOn(true);

其余部分将被禁用。如果我不包含此代码,提醒将在事件发生前15分钟启用。

EN

回答 1

Stack Overflow用户

发布于 2019-04-02 22:05:30

您正在将dateTimetimeZone都设置为UTC。我不确定您期望发生什么,但这应该会使用UTC生成一个新的event

当您使用Z后缀指定时间时,您就是by definition,告诉它“这是协调世界时”。它相当于将日期/时间偏移量设置为UTC -0

使用协调世界时的时区有时被表示为UTC±00:00,或者由字母Z-a引用等效的航海时区(GMT)表示,大约从1950年开始就由Z表示。

如果你想使用“太平洋标准时间”,那么你应该使用

代码语言:javascript
复制
$start = new Model\DateTimeTimeZone();
  $start->setDateTime("2019-03-11T21:01:57");
  $start->setTimeZone("Pacific Standard Time");

尽管您可以简单地使用-08:00作为UTC偏移量(我在使用PHP SDK方面没有足够的经验,不知道这是否会起作用,但我想它会):

代码语言:javascript
复制
$start = new Model\DateTimeTimeZone();
  $start->setDateTime("2019-03-11T21:01:57-08:00");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54881322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档