【发布时间】:2018-01-28 00:28:24
【问题描述】:
使用 PHP 客户端库,我正在尝试创建一个每周重复发生的事件,该事件将在我们停业的日子里跳过。
我正在传递这些参数以创建一个新的 Google_Service_Calendar_Event 对象,该对象将传递给 Google_Service_Calendar::events->update()。
$params = array(
'summary' => 'Event Title',
'location' => 'Event Location',
'start' => array(
'dateTime' => $slot['startDate'].'T'.$slot['startTime'],
'timeZone' => 'America/New_York',
),
'end' => array(
'dateTime' => $slot['startDate'].'T'.$slot['endTime'],
'timeZone' => 'America/New_York',
),
'recurrence' => $arrRecurrence,
'attendees' => $arrAttendees,
);
$arrRecurrence 的规则规定该活动应每周重复一次,直到 2 月底,跳过总统日:
Array
(
[0] => EXDATE;VALUE=DATE:20180219
[1] => RRULE:FREQ=WEEKLY;UNTIL=20180224;BYDAY=MO
)
RRULE 被正确应用,但EXDATE 被忽略,我似乎无法弄清楚原因。
【问题讨论】:
-
由于开始和结束日期有一个时区,请尝试
EXDATE;TZID=America/New_York;VALUE=DATE:20180219, stackoverflow.com/questions/25170070/… -
试过了,但看起来它被忽略了。插入事件后,我做了一个
get()并且TZID不在EXDATE规则中。我认为它无效,因为我指定的是日期而不是日期时间