DST Причинение разницы во времени в GCal Events на +1 час

У меня есть приложение на основе php, где я интегрировал GCal с API OAuth 2.0. Все отлично работает, кроме DST +1 час выпуска. Это приложение только для Великобритании, и я также храню часовые пояса учетной записи пользователя. Если я добавляю задачу в 3:00 утра, на GCal она показывает мне 4:00 утра. Это когда я жестко закодировал часовой пояс как Европа / Лондон в setTimeZone() при добавлении задачи. Кроме того, настройки учетной записи GCal также как Европа / Лондон. Это немного расстраивает, поэтому, пожалуйста, помогите мне с тем, что я должен изменить в своем коде, чтобы справиться с этой разницей во времени DST +1 час. Вот код:

$evt = new Event();
$evt->setDescription($txtDesc); 
$evt->setSummary($taskTypeTxt);

#--Setting Event Date
$evtDT  = new EventDateTime();
$evtDT2     = new EventDateTime();

$evtDT->setDateTime($startDate); 
$evtDT->setTimeZone('Europe/London');

$evtDT2->setDateTime($endDate);
$evtDT2->setTimeZone('Europe/London');
$evt->setOriginalStartTime($evtDT);
$evt->setStart($evtDT);
$evt->setEnd($evtDT2);

$field = array('items/id');
$evtId = $cal->events->insert($user_email,$evt,$field);

1 ответ

Я страдаю той же проблемой.

Кажется, есть некоторая неопределенность в отношении того, следует ли устанавливать часовой пояс GMT+0 или GMT+1 (BST). Последнее подразумевало бы, что мне впоследствии придется обрабатывать изменения летнего времени вручную, но когда я установил GMT+0, он не обновлялся автоматически при изменении часов.

Другие вопросы по тегам