【发布时间】:2018-08-27 22:27:49
【问题描述】:
我使用 Google 日历 API 创建了一个应用程序来评估事件,最后还将事件添加到日历中。现在我们接近切换到夏令时我遇到了问题:API 正在将时间转换一小时。 示例:
$event = new Google_Service_Calendar_Event(array(
'summary' => 'title',
'description' => 'description',
'start' => array(
'dateTime' => '2018-04-05T12:00:00+1:00',
'timeZone' => 'Europe/Amsterdam',
),
'end' => array(
'dateTime' => '2018-04-05T15:00:00+1:00',
'timeZone' => 'Europe/Amsterdam',
)
));
$event = $cal->events->insert($room_calendar_id, $event);
当我执行此代码时,结果是一个从 13:00 到 16:00 运行的事件。当我通过 Google 日历 API 试用功能使用这些参数时,它会给出相同的结果。但在后一种情况下,它会返回以下 JSON 响应:
"start": {
"dateTime": "2018-04-20T13:00:00+02:00",
"timeZone": "Europe/Amsterdam"
},
"end": {
"dateTime": "2018-04-20T16:00:00+02:00",
"timeZone": "Europe/Amsterdam"
}
太奇怪了,它显示了 +02:00 的偏移量。 我希望 API 不会更改时间和偏移参数。
当我为 2018-03-20 做同样的事情时,它工作正常,所以我认为夏令时应该会导致这个问题。
有人可以提供更多关于我应该如何在不考虑夏令时影响的情况下添加事件的信息吗?
【问题讨论】:
标签: asp.net-web-api calendar timezone save dst