Я пытаюсь вставить событие повтора с помощью этой оболочки:
https://github.com/spatie/laravel-google-calendar
Наличие проблем с датами, но дата + время включает часовые пояса
Я продолжаю получать эту ошибку:
(400) Отсутствует определение часового пояса для времени начала.
[
"name" => "Test name here""location" => "Brisbane Australia""description" => "Desc here...""timeZone" => "Australia/Brisbane""colorId" => 4
"startDateTime" => "2017-03-01 14:00:00""endDateTime" => "2017-03-01 15:00:00""recurrence" => ["RRULE:FREQ=DAILY;INTERVAL=1;"]
]
я не знаю, как добавить часовые пояса к этим начальным и конечным значениям даты и времени
Извините, приятель, пакет не может этого сделать.
Ограничения
API Календаря Google предоставляет множество возможностей. Этот пакет не поддерживает все из них. Например повторяющиеся события не могут быть правильно обработаны с этим пакетом. Если вы придерживаетесь создания событий с именем и датой, у вас все будет в порядке.
https://github.com/spatie/laravel-google-calendar#limitations
В соответствии с Документация по API Календаря Google, поле start.dateTime
(предположительно ваш "startDateTime"
поле) считается RFC 3339 формат. (Я полагаю, вы должны сделать то же самое с endDateTime
).
Вы должны преобразовать дату в этот формат.
Если ваши необработанные данные Объект DateTime, Вы можете преобразовать это так:
<?php
$startDateTime = DateTime::createFromFormat("Y-m-d H:i:s", "2017-03-01 14:00:00");
echo $startDateTime->format(DateTime::RFC3339);
Будет выводить:
2017-03-01T14:00:00+08:00
Часовой пояс включен в этот формат.