outlook.com api事件创建日期

时间:2014-03-27 13:40:54

标签: php api rest outlook

我正在使用PHPOutlook REST API,我能够很好地创建事件,除了date我给API创建事件的时间增加了11个小时end_date也有问题,例如,如果我告诉API创建从2014-03-31T15:00:00-00002014-03-31T16:00:00-0000的事件,它最终会创建从2014-04-01T02:00:00+1100到{{1}的结尾}}

这就是我的API网址

2014-04-01T02:30:00+1100

如果我在结尾删除-0000,我会收到以下错误

https://apis.live.net/v5.0/9898ef90931244e8/events?name=testing_event&description=event_description&start_time=2014-03-31T15:00:00-0000&end_time=2014-03-31T16:00:00-0000&access_token=token-goes-here&method=POST

我会非常感谢任何帮助,因为我花了几个小时试图解决这个问题,而且我几乎完全没有想法......

3 个答案:

答案 0 :(得分:1)

尝试在当地时间使用Z,如下所示: 2014-03-31T15:00:00.000Z

所以它会像

  

https://apis.live.net/v5.0/9898ef90931244e8/events?命名= testing_event&安培;描述= EVENT_DESCRIPTION&安培; START_TIME = 2014-03-31T15:00:00Z&安培; event_start_time = 2014-03-31T16:00:00Z&安培; =的access_token令牌去-此处&安培;方法= POST

答案 1 :(得分:0)

它与不同的时区(-0000和+1100)同时发生。

答案 2 :(得分:0)

前段时间我在MSDN论坛上发布了这个问题并忘了它,今天我访问了这个问题,这是我从Outlook团队解释如何理解UTC时区的reply,我希望这可以帮助某人我遇到了同样的问题,我希望他们把它包含在他们的文档中。这解决了我遇到的问题

  

*日期的ISO 8601格式可能有点令人困惑。您在回复中看到的内容实际上是正确的。日历服务   记录您的日期并将其映射到用户的时区。

     

" 2014-03-31T15:00:00-0000"指的是2014年3月31日下午3点   调整0小时0分钟转换为UTC时间。其他   单词,这基本上是IS UTC时间。然后是日历服务   将其转换为您所在用户的本地时区   创建活动。 " 2014-04-01T02:00:00 + 1100"意思是4月1日凌晨2点,   2014年,适用于您的用户所在的任何时区。要翻译回来   UTC,您需要从当地时间减去偏移量。凌晨2点,   2014年4月1日,您的时间映射到UTC时间早11点,即下午3点   2014年3月31日(您输入的内容)。

     

如果您使用Z,则表示您实际上是在指定   UTC时间。因此,为了获得您需要的活动所需的时间   您想要的时间并找出相应的UTC时间。   因此,如果用户的UTC偏移量为+1100,则需要减去   偏离事件的当地时间来计算UTC   时间。在你的情况下,我相信这将是2014-03-31T04:00:00Z。这个   实际上是最好的代码,而不是尝试   弄清楚如何做自己。如果你看看"创建   日历活动"样本在http://isdk.dev.live.com它会告诉你如何   在JavaScript中执行此操作 - 可能有PHP等价物。*

相关问题